Version Description
- Added: Allow native upload/insert of all supported file types
- Added: Shortcode inserted from Media Library for supported files
- Added: Localization support (translations welcome)
- Added: Ability to use mobile theme with Enhanced Viewer
- Fixed: Toolbar customization on mobile with Enhanced Viewer
- Fixed: Editor integration No longer loads its own TinyMCE/jquery libs
- Fixed: URL changes for plugin, help links, beta checking
- Fixed: "Moved Temporarily" error in Enhanced Viewer (thanks webmonkeywatts)
Download this release
Release Info
Developer | k3davis |
Plugin | Google Doc Embedder |
Version | 2.4 |
Comparing to | |
See all releases |
Code changes from version 2.3 to 2.4
- bootstrap.php +20 -0
- gde-dialog.php +25 -20
- gde-functions.php +87 -10
- gviewer.php +85 -58
- img/index.php +3 -0
- js/dialog.js +13 -9
- js/editor_plugin.js +8 -9
- js/gde-jquery.js +23 -1
- js/index.php +3 -0
- js/jquery-1.3.2.min.js +0 -19
- js/tiny_mce_popup.js +0 -5
- languages/gde-en_US.mo +0 -0
- languages/gde-en_US.po +372 -0
- languages/gde.mo +0 -0
- languages/gde.pot +369 -0
- options.php +132 -114
- proxy.php +113 -100
- readme.txt +24 -9
bootstrap.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// bootstrap for getting ABSPATH constant to wp-load.php outside the admin screen
|
4 |
+
if (!defined('WP_LOAD_PATH')) {
|
5 |
+
$classic_root = dirname(dirname(dirname(dirname(__FILE__)))).'/';
|
6 |
+
if (file_exists($classic_root.'wp-load.php') ) {
|
7 |
+
define('WP_LOAD_PATH', $classic_root);
|
8 |
+
} else {
|
9 |
+
if (file_exists($path.'wp-load.php')) {
|
10 |
+
define('WP_LOAD_PATH', $path);
|
11 |
+
} else {
|
12 |
+
exit(__('Could not find wp-load.php', 'gde'));
|
13 |
+
}
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
//Load wp-load.php
|
18 |
+
require_once(WP_LOAD_PATH.'wp-load.php');
|
19 |
+
|
20 |
+
?>
|
gde-dialog.php
CHANGED
@@ -1,13 +1,16 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
|
|
|
|
3 |
?>
|
4 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
5 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
6 |
<head>
|
7 |
<title>Google Doc Embedder</title>
|
8 |
-
<script type="text/javascript" src="js/tiny_mce_popup.js"></script>
|
|
|
9 |
<script type="text/javascript" src="js/dialog.js"></script>
|
10 |
-
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
|
11 |
|
12 |
<style type="text/css">
|
13 |
h2 {
|
@@ -28,55 +31,57 @@
|
|
28 |
<form onsubmit="GDEInsertDialog.insert();return false;" action="#">
|
29 |
<p>
|
30 |
<input name="diy" type="checkbox" value="1" class="diy"/>
|
31 |
-
I'll insert the shortcode myself
|
32 |
</p>
|
33 |
-
<h2 class="gray"
|
34 |
</tr>
|
35 |
|
36 |
<fieldset>
|
37 |
-
<legend class="gray dwl_gray"
|
38 |
<table width="100%" border="0" cellspacing="0" cellpadding="5">
|
39 |
<tr>
|
40 |
-
<td align="right" class="gray dwl_gray"><strong
|
41 |
<td valign="top"><input name="url" type="text" class="opt dwl" id="url" style="width:200px;" /><br/>
|
42 |
-
<span id="uri-note"
|
|
|
|
|
43 |
</tr>
|
44 |
</table>
|
45 |
</fieldset>
|
46 |
|
47 |
<br/>
|
48 |
<fieldset>
|
49 |
-
<legend class="gray dwl_gray"
|
50 |
<table width="100%" border="0" cellspacing="0" cellpadding="5">
|
51 |
<tr>
|
52 |
-
<td align="right" class="gray dwl_gray"><strong
|
53 |
<td valign="top" style="width:200px;"><input name="height" type="text" class="opt dwl" id="height" size="6" /></td>
|
54 |
</tr>
|
55 |
<tr>
|
56 |
-
<td align="right" class="gray dwl_gray"><strong
|
57 |
<td valign="top"><input name="width" type="text" class="opt dwl" id="width" size="6" /></td>
|
58 |
</tr>
|
59 |
<tr>
|
60 |
-
<td align="right" class="gray dwl_gray"><strong
|
61 |
-
<td valign="top" class="gray dwl_gray"><input name="save" type="radio" class="opt dwl save" value="1" /> Yes <input name="save" type="radio" class="opt dwl save" value="0" /> No
|
62 |
</tr>
|
63 |
<tr>
|
64 |
<td colspan="2" class="gray dwl_gray">
|
65 |
<input name="restrict_dl" type="checkbox" value="-1" class="restrict_dl dwl opt" />
|
66 |
-
Show download link only if user is logged in
|
67 |
</td>
|
68 |
</tr>
|
69 |
<tr>
|
70 |
<td colspan="2" class="gray dwl_gray">
|
71 |
<input name="disable_cache" type="checkbox" value="-1" class="disable_cache dwl opt" />
|
72 |
-
Disable caching (this document is frequently overwritten)
|
73 |
</td>
|
74 |
</tr>
|
75 |
<tr>
|
76 |
<tr>
|
77 |
<td colspan="2" class="gray dwl_gray">
|
78 |
<input name="bypass_error" type="checkbox" value="-1" class="bypass_error opt" />
|
79 |
-
Disable internal error checking (try if URL is confirmed good but document doesn't display)
|
80 |
</td>
|
81 |
</tr>
|
82 |
</table>
|
@@ -86,8 +91,8 @@
|
|
86 |
<tr>
|
87 |
<td colspan="2">
|
88 |
<br />
|
89 |
-
Shortcode Preview
|
90 |
-
<textarea name="shortcode" cols="72" rows="2" id="shortcode"></textarea>
|
91 |
</td>
|
92 |
</tr>
|
93 |
|
@@ -95,11 +100,11 @@
|
|
95 |
|
96 |
<div class="mceActionPanel">
|
97 |
<div style="float: left">
|
98 |
-
<input type="button" id="insert" name="insert" value="
|
99 |
</div>
|
100 |
|
101 |
<div style="float: right">
|
102 |
-
<input type="button" id="cancel" name="cancel" value="
|
103 |
</div>
|
104 |
</div>
|
105 |
</form>
|
1 |
<?php
|
2 |
+
|
3 |
+
// access wp functions externally
|
4 |
+
require_once('bootstrap.php');
|
5 |
+
|
6 |
?>
|
7 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
8 |
<html xmlns="http://www.w3.org/1999/xhtml">
|
9 |
<head>
|
10 |
<title>Google Doc Embedder</title>
|
11 |
+
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl'); ?>/wp-includes/js/tinymce/tiny_mce_popup.js"></script>
|
12 |
+
<script language="javascript" type="text/javascript" src="<?php echo get_option('siteurl'); ?>/wp-includes/js/jquery/jquery.js"></script>
|
13 |
<script type="text/javascript" src="js/dialog.js"></script>
|
|
|
14 |
|
15 |
<style type="text/css">
|
16 |
h2 {
|
31 |
<form onsubmit="GDEInsertDialog.insert();return false;" action="#">
|
32 |
<p>
|
33 |
<input name="diy" type="checkbox" value="1" class="diy"/>
|
34 |
+
<?php _e('I\'ll insert the shortcode myself', 'gde'); ?>
|
35 |
</p>
|
36 |
+
<h2 class="gray"><?php _e('GDE Shortcode Options', 'gde'); ?></h2></td>
|
37 |
</tr>
|
38 |
|
39 |
<fieldset>
|
40 |
+
<legend class="gray dwl_gray"><?php _e('Required', 'gde'); ?></legend>
|
41 |
<table width="100%" border="0" cellspacing="0" cellpadding="5">
|
42 |
<tr>
|
43 |
+
<td align="right" class="gray dwl_gray"><strong><?php _e('URL or Filename', 'gde'); ?></strong><br /><?php _e('Full URL or filename to append to File Base URL', 'gde'); ?></td>
|
44 |
<td valign="top"><input name="url" type="text" class="opt dwl" id="url" style="width:200px;" /><br/>
|
45 |
+
<span id="uri-note-base" style="display:none;color:#2B6FB6;"><?php _e('File Base URL will be prefixed', 'gde'); ?></span>
|
46 |
+
<span id="uri-note-file" style="display:none;color:red;"><?php _e('Unsupported file type', 'gde'); ?></span>
|
47 |
+
</td>
|
48 |
</tr>
|
49 |
</table>
|
50 |
</fieldset>
|
51 |
|
52 |
<br/>
|
53 |
<fieldset>
|
54 |
+
<legend class="gray dwl_gray"><?php _e('Optional (Override Global Settings)', 'gde'); ?></legend>
|
55 |
<table width="100%" border="0" cellspacing="0" cellpadding="5">
|
56 |
<tr>
|
57 |
+
<td align="right" class="gray dwl_gray"><strong><?php _e('Height', 'gde'); ?></strong><br/>(<?php _e('format:', 'gde'); ?> 40% <?php _e('or', 'gde'); ?> 300px)</td>
|
58 |
<td valign="top" style="width:200px;"><input name="height" type="text" class="opt dwl" id="height" size="6" /></td>
|
59 |
</tr>
|
60 |
<tr>
|
61 |
+
<td align="right" class="gray dwl_gray"><strong><?php _e('Width', 'gde'); ?></strong><br/>(<?php _e('format:', 'gde'); ?> 40% <?php _e('or', 'gde'); ?> 300px)</td>
|
62 |
<td valign="top"><input name="width" type="text" class="opt dwl" id="width" size="6" /></td>
|
63 |
</tr>
|
64 |
<tr>
|
65 |
+
<td align="right" class="gray dwl_gray"><strong><?php _e('Show Download Link', 'gde'); ?></strong></td>
|
66 |
+
<td valign="top" class="gray dwl_gray"><input name="save" type="radio" class="opt dwl save" value="1" /> <?php _e('Yes', 'gde'); ?> <input name="save" type="radio" class="opt dwl save" value="0" /> <?php _e('No', 'gde'); ?></td>
|
67 |
</tr>
|
68 |
<tr>
|
69 |
<td colspan="2" class="gray dwl_gray">
|
70 |
<input name="restrict_dl" type="checkbox" value="-1" class="restrict_dl dwl opt" />
|
71 |
+
<?php _e('Show download link only if user is logged in', 'gde'); ?>
|
72 |
</td>
|
73 |
</tr>
|
74 |
<tr>
|
75 |
<td colspan="2" class="gray dwl_gray">
|
76 |
<input name="disable_cache" type="checkbox" value="-1" class="disable_cache dwl opt" />
|
77 |
+
<?php _e('Disable caching (this document is frequently overwritten)', 'gde'); ?>
|
78 |
</td>
|
79 |
</tr>
|
80 |
<tr>
|
81 |
<tr>
|
82 |
<td colspan="2" class="gray dwl_gray">
|
83 |
<input name="bypass_error" type="checkbox" value="-1" class="bypass_error opt" />
|
84 |
+
<?php _e('Disable internal error checking (try if URL is confirmed good but document doesn\'t display)', 'gde'); ?>
|
85 |
</td>
|
86 |
</tr>
|
87 |
</table>
|
91 |
<tr>
|
92 |
<td colspan="2">
|
93 |
<br />
|
94 |
+
<?php _e('Shortcode Preview', 'gde'); ?>
|
95 |
+
<textarea name="shortcode" cols="72" rows="2" id="shortcode"readonly="readonly"></textarea>
|
96 |
</td>
|
97 |
</tr>
|
98 |
|
100 |
|
101 |
<div class="mceActionPanel">
|
102 |
<div style="float: left">
|
103 |
+
<input type="button" id="insert" name="insert" value="<?php _e('Insert', 'gde'); ?>" onclick="GDEInsertDialog.insert();" />
|
104 |
</div>
|
105 |
|
106 |
<div style="float: right">
|
107 |
+
<input type="button" id="cancel" name="cancel" value="<?php _e('Cancel', 'gde'); ?>" onclick="tinyMCEPopup.close();" />
|
108 |
</div>
|
109 |
</div>
|
110 |
</form>
|
gde-functions.php
CHANGED
@@ -1,16 +1,17 @@
|
|
1 |
<?php
|
2 |
|
3 |
// external urls (help, etc.)
|
4 |
-
@define('GDE_VIEWOPT_URL', 'http://
|
5 |
-
@define('GDE_LINKOPT_URL', 'http://
|
6 |
-
@define('GDE_ADVOPT_URL', 'http://
|
7 |
-
@define('GDE_SUPPORT_URL', 'http://
|
8 |
-
@define('GDE_BETA_URL', 'http://
|
9 |
-
@define('GDE_BETA_CHKFILE', 'http://davismetro.com/
|
10 |
|
11 |
-
if ( ! defined( 'GDE_PLUGIN_URL' ) ) define( 'GDE_PLUGIN_URL', WP_PLUGIN_URL . '/google-document-embedder');
|
12 |
|
13 |
function gde_init($reset = NULL) {
|
|
|
14 |
$baseurl = get_bloginfo('url')."/wp-content/uploads/";
|
15 |
|
16 |
// define global default settings
|
@@ -26,10 +27,12 @@ function gde_init($reset = NULL) {
|
|
26 |
'show_dl' => 'yes',
|
27 |
'restrict_dl' => 'no',
|
28 |
'enable_ga' => 'no',
|
29 |
-
'link_text' => 'Download (%FT, %FS)',
|
30 |
'link_pos' => 'below',
|
31 |
'link_func' => 'default',
|
32 |
'disable_proxy' => 'yes',
|
|
|
|
|
33 |
'disable_editor' => 'no',
|
34 |
'disable_caching' => 'no',
|
35 |
'disable_hideerrors' => 'no',
|
@@ -58,6 +61,8 @@ function gde_init($reset = NULL) {
|
|
58 |
foreach ($defaults as $key => $value) {
|
59 |
if($gdeoptions[$key]) {
|
60 |
$defaults[$key] = $gdeoptions[$key];
|
|
|
|
|
61 |
}
|
62 |
}
|
63 |
}
|
@@ -223,7 +228,79 @@ function gde_add_tinymce_plugin($plugin_array) {
|
|
223 |
return $plugin_array;
|
224 |
}
|
225 |
|
226 |
-
|
227 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
?>
|
1 |
<?php
|
2 |
|
3 |
// external urls (help, etc.)
|
4 |
+
@define('GDE_VIEWOPT_URL', 'http://www.davistribe.org/gde/settings/viewer-options/');
|
5 |
+
@define('GDE_LINKOPT_URL', 'http://www.davistribe.org/gde/settings/download-link-options/');
|
6 |
+
@define('GDE_ADVOPT_URL', 'http://www.davistribe.org/gde/settings/advanced-options/');
|
7 |
+
@define('GDE_SUPPORT_URL', 'http://wordpress.org/tags/google-document-embedder?forum_id=10');
|
8 |
+
@define('GDE_BETA_URL', 'http://www.davistribe.org/gde/beta-program/');
|
9 |
+
@define('GDE_BETA_CHKFILE', 'http://dev.davismetro.com/beta/gde/beta.chk');
|
10 |
|
11 |
+
//if ( ! defined( 'GDE_PLUGIN_URL' ) ) define( 'GDE_PLUGIN_URL', WP_PLUGIN_URL . '/google-document-embedder');
|
12 |
|
13 |
function gde_init($reset = NULL) {
|
14 |
+
// set default base url
|
15 |
$baseurl = get_bloginfo('url')."/wp-content/uploads/";
|
16 |
|
17 |
// define global default settings
|
27 |
'show_dl' => 'yes',
|
28 |
'restrict_dl' => 'no',
|
29 |
'enable_ga' => 'no',
|
30 |
+
'link_text' => __('Download', 'gde').' (%FT, %FS)',
|
31 |
'link_pos' => 'below',
|
32 |
'link_func' => 'default',
|
33 |
'disable_proxy' => 'yes',
|
34 |
+
'ed_extend_upload' => 'yes',
|
35 |
+
'ed_embed_sc' => 'yes',
|
36 |
'disable_editor' => 'no',
|
37 |
'disable_caching' => 'no',
|
38 |
'disable_hideerrors' => 'no',
|
61 |
foreach ($defaults as $key => $value) {
|
62 |
if($gdeoptions[$key]) {
|
63 |
$defaults[$key] = $gdeoptions[$key];
|
64 |
+
} else {
|
65 |
+
$gdeoptions[$key] = $defaults[$key];
|
66 |
}
|
67 |
}
|
68 |
}
|
228 |
return $plugin_array;
|
229 |
}
|
230 |
|
231 |
+
// modify the media insertion if requested
|
232 |
+
function gde_media_insert($html, $id, $attachment) {
|
233 |
+
global $supported_exts;
|
234 |
+
|
235 |
+
//get the mime-type
|
236 |
+
$mime_type = get_post_mime_type($id);
|
237 |
+
|
238 |
+
if (in_array($mime_type, $supported_exts)) {
|
239 |
+
// insert shortcode instead of link
|
240 |
+
$output = '[gview file="'.$attachment['url'].'"]';
|
241 |
+
return $output;
|
242 |
+
} else {
|
243 |
+
// default behavior
|
244 |
+
//return $html;
|
245 |
+
$output = "$mime_type not a value in supported_exts";
|
246 |
+
return $output;
|
247 |
+
}
|
248 |
}
|
249 |
+
|
250 |
+
function gde_upload_mimes ( $existing_mimes=array() ) {
|
251 |
+
global $supported_exts;
|
252 |
+
|
253 |
+
// add upload support for natively unsupported mimetypes used by this plugin
|
254 |
+
foreach ($supported_exts as $ext => $mimetype) {
|
255 |
+
if (!array_key_exists($ext, gde_mimes_expanded($existing_mimes))) {
|
256 |
+
$existing_mimes[$ext] = $mimetype;
|
257 |
+
}
|
258 |
+
}
|
259 |
+
return gde_mimes_collapsed($existing_mimes);
|
260 |
+
}
|
261 |
+
|
262 |
+
function gde_mimes_expanded(array $types) {
|
263 |
+
// expand the supported mime types so that every ext is its own key
|
264 |
+
foreach ($types as $k => $v) {
|
265 |
+
if (substr("|", $k)) {
|
266 |
+
$subtypes = explode("|", $k);
|
267 |
+
foreach ($subtypes as $type) {
|
268 |
+
$newtypes[$type] = $v;
|
269 |
+
unset($types[$k]);
|
270 |
+
}
|
271 |
+
$types = array_merge($types, $newtypes);
|
272 |
+
}
|
273 |
+
}
|
274 |
+
return $types;
|
275 |
+
}
|
276 |
+
|
277 |
+
function gde_mimes_collapsed($types) {
|
278 |
+
// collapes the supported mime types so that each mime is listed once with combined key (default)
|
279 |
+
$newtypes = array();
|
280 |
+
|
281 |
+
foreach ($types as $k => $v) {
|
282 |
+
if (isset($newtypes[$v])) {
|
283 |
+
$newtypes[$v] .= '|' . $k;
|
284 |
+
} else {
|
285 |
+
$newtypes[$v] = $k;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
return array_flip($newtypes);
|
289 |
+
}
|
290 |
+
|
291 |
+
/**
|
292 |
+
* Get plugin data
|
293 |
+
*
|
294 |
+
* @since 2.4.0.1
|
295 |
+
* @return array Array of plugin data parsed from main plugin file
|
296 |
+
*/
|
297 |
+
function gde_get_plugin_data() {
|
298 |
+
if ( ! function_exists( 'get_plugin_data' ) ) {
|
299 |
+
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
300 |
+
}
|
301 |
+
$plugin_data = get_plugin_data( GDE_PLUGIN_DIR . 'gviewer.php' );
|
302 |
+
|
303 |
+
return $plugin_data;
|
304 |
+
}
|
305 |
+
|
306 |
?>
|
gviewer.php
CHANGED
@@ -2,15 +2,17 @@
|
|
2 |
|
3 |
/*
|
4 |
Plugin Name: Google Doc Embedder
|
5 |
-
Plugin URI: http://www.
|
6 |
Description: Lets you embed MS Office, PDF, TIFF, and many other file types in a web page using the Google Docs Viewer (no Flash or PDF browser plug-ins required).
|
7 |
Author: Kevin Davis
|
8 |
-
Author URI: http://www.
|
9 |
-
|
|
|
|
|
10 |
License: GPLv2
|
11 |
*/
|
12 |
|
13 |
-
$gde_ver = "2.
|
14 |
|
15 |
/**
|
16 |
* LICENSE
|
@@ -34,39 +36,43 @@ $gde_ver = "2.3.0.98";
|
|
34 |
* @author Kevin Davis <kev@tnw.org>
|
35 |
* @copyright Copyright 2012 Kevin Davis
|
36 |
* @license http://www.gnu.org/licenses/gpl.txt GPL 2.0
|
37 |
-
* @link http://
|
38 |
*/
|
39 |
|
|
|
|
|
|
|
|
|
|
|
40 |
include_once('gde-functions.php');
|
41 |
$gdeoptions = get_option('gde_options');
|
42 |
$pUrl = plugins_url(plugin_basename(dirname(__FILE__)));
|
43 |
|
44 |
-
//
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
"zip" => "application/zip"
|
68 |
);
|
69 |
-
$allowed_exts = implode("|",array_keys($
|
70 |
|
71 |
// basic usage: [gview file="http://path.to/file.pdf"]
|
72 |
function gde_gviewer_func($atts) {
|
@@ -128,7 +134,7 @@ function gde_gviewer_func($atts) {
|
|
128 |
if (($gdeoptions['disable_hideerrors'] == "no") || !$gdeoptions['disable_hideerrors']) {
|
129 |
$code = "\n<!-- GDE EMBED ERROR: $status -->\n";
|
130 |
} else {
|
131 |
-
$code = "\n".'<div class="gde-error">Google Doc Embedder Error:
|
132 |
}
|
133 |
} else {
|
134 |
$code = "";
|
@@ -152,19 +158,24 @@ HERE;
|
|
152 |
} else {
|
153 |
$uefile = $file;
|
154 |
}
|
|
|
155 |
if ($gdeoptions['disable_proxy'] == "no") {
|
156 |
-
$
|
157 |
-
|
|
|
|
|
|
|
|
|
|
|
158 |
} else {
|
159 |
-
$lnk
|
160 |
}
|
|
|
161 |
if (is_numeric($page)) {
|
162 |
// jump to selected page - experimental (works on refresh but not initial page load)
|
163 |
$page = (int) $page-1;
|
164 |
$lnk = $lnk."#:0.page.".$page;
|
165 |
}
|
166 |
-
$linkcode = "";
|
167 |
-
|
168 |
// hide download link for anonymous users
|
169 |
get_currentuserinfo();
|
170 |
$dlRestrict = $gdeoptions['restrict_dl'];
|
@@ -175,6 +186,7 @@ HERE;
|
|
175 |
}
|
176 |
}
|
177 |
|
|
|
178 |
if ($save == "yes" || $save == "1") {
|
179 |
|
180 |
$dlMethod = $gdeoptions['link_func'];
|
@@ -232,6 +244,8 @@ HERE;
|
|
232 |
|
233 |
// activate plugin
|
234 |
register_activation_hook( __FILE__, 'gde_activate');
|
|
|
|
|
235 |
|
236 |
function gde_activate() {
|
237 |
global $wpdb;
|
@@ -245,23 +259,23 @@ add_action('admin_menu', 'gde_option_page');
|
|
245 |
function gde_option_page() {
|
246 |
global $gde_settings_page;
|
247 |
|
248 |
-
$gde_settings_page = add_options_page(
|
249 |
|
250 |
// enable settings jQuery
|
251 |
add_action( 'admin_enqueue_scripts', 'gde_admin_custom_js' );
|
252 |
}
|
253 |
function gde_options() {
|
254 |
-
if ( function_exists('current_user_can') && !current_user_can('manage_options') )
|
255 |
-
if (! user_can_access_admin_page()) wp_die(
|
256 |
|
257 |
-
require(
|
258 |
add_action('in_admin_footer', 'gde_admin_footer');
|
259 |
}
|
260 |
|
261 |
// add additional links, for convenience
|
262 |
$plugin = plugin_basename(__FILE__);
|
263 |
function gde_actlinks($links) {
|
264 |
-
$settings_link = '<a href="options-general.php?page=gviewer.php">Settings</a>';
|
265 |
array_unshift($links, $settings_link);
|
266 |
return $links;
|
267 |
}
|
@@ -269,7 +283,7 @@ function gde_metalinks($links, $file) {
|
|
269 |
global $debug;
|
270 |
$plugin = plugin_basename(__FILE__);
|
271 |
if ($file == $plugin) {
|
272 |
-
$support_link = '<a href="'.GDE_SUPPORT_URL.'">Support</a>';
|
273 |
$links[] = $support_link;
|
274 |
}
|
275 |
return $links;
|
@@ -281,6 +295,12 @@ add_filter("plugin_row_meta", 'gde_metalinks', 10, 2);
|
|
281 |
function gde_checkforBeta($plugin) {
|
282 |
global $gde_ver, $pUrl, $gdeoptions;
|
283 |
|
|
|
|
|
|
|
|
|
|
|
|
|
284 |
$pdata = get_plugin_data(__FILE__);
|
285 |
if (preg_match('/-dev$/i', $pdata['Version'])) { $isbeta = 1; }
|
286 |
|
@@ -296,26 +316,26 @@ function gde_checkforBeta($plugin) {
|
|
296 |
$message = $status[3];
|
297 |
|
298 |
if ($isbeta) {
|
299 |
-
$titleStr =
|
300 |
-
$msgStr =
|
301 |
} else {
|
302 |
-
$titleStr =
|
303 |
-
$msgStr =
|
304 |
}
|
305 |
$message = str_replace("%msg", $msgStr, $message);
|
306 |
|
307 |
if ((version_compare(strval($rver), strval($lver), '>') == 1)) {
|
308 |
-
$msg =
|
309 |
-
echo '<td colspan="5" class="plugin-update" style="line-height:1.2em; font-size:11px; padding:1px;"><div style="background:#A2F099;border:1px solid #4FE23F; padding:2px; font-weight:bold;">'
|
310 |
} elseif ($isbeta) {
|
311 |
-
$msg =
|
312 |
-
echo '<td colspan="5" class="plugin-update" style="line-height:1.2em; font-size:11px; padding:1px;"><div style="border:1px solid; padding:2px; font-weight:bold;">'
|
313 |
} else {
|
314 |
return;
|
315 |
}
|
316 |
} elseif ($isbeta) {
|
317 |
-
$msg =
|
318 |
-
echo '<td colspan="5" class="plugin-update" style="line-height:1.2em; font-size:11px; padding:1px;"><div style="border:1px solid; padding:2px; font-weight:bold;">'
|
319 |
}
|
320 |
}
|
321 |
}
|
@@ -331,17 +351,24 @@ if ($gdeoptions['disable_editor'] !== "yes") {
|
|
331 |
|
332 |
// add tinymce button
|
333 |
add_action('admin_init','gde_mce_addbuttons');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
}
|
335 |
|
336 |
// footer credit
|
337 |
function gde_admin_footer() {
|
338 |
$pdata = get_plugin_data(__FILE__);
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
// leave this function here to workaround NGG incompatibility
|
343 |
-
function gde_t($message) {
|
344 |
-
return __($message, basename(dirname(__FILE__)));
|
345 |
}
|
346 |
|
347 |
?>
|
2 |
|
3 |
/*
|
4 |
Plugin Name: Google Doc Embedder
|
5 |
+
Plugin URI: http://www.davistribe.org/gde/
|
6 |
Description: Lets you embed MS Office, PDF, TIFF, and many other file types in a web page using the Google Docs Viewer (no Flash or PDF browser plug-ins required).
|
7 |
Author: Kevin Davis
|
8 |
+
Author URI: http://www.davistribe.org/
|
9 |
+
Text Domain: gde
|
10 |
+
Domain Path: /languages/
|
11 |
+
Version: 2.4
|
12 |
License: GPLv2
|
13 |
*/
|
14 |
|
15 |
+
$gde_ver = "2.4.0.98";
|
16 |
|
17 |
/**
|
18 |
* LICENSE
|
36 |
* @author Kevin Davis <kev@tnw.org>
|
37 |
* @copyright Copyright 2012 Kevin Davis
|
38 |
* @license http://www.gnu.org/licenses/gpl.txt GPL 2.0
|
39 |
+
* @link http://www.davistribe.org/gde/
|
40 |
*/
|
41 |
|
42 |
+
if ( ! defined( 'GDE_PLUGIN_DIR' ) )
|
43 |
+
define( 'GDE_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
44 |
+
if ( ! defined( 'GDE_PLUGIN_URL' ) )
|
45 |
+
define( 'GDE_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
46 |
+
|
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(
|
53 |
+
// ext => mime_type
|
54 |
+
"ai" => "application/postscript",
|
55 |
+
"doc" => "application/msword",
|
56 |
+
"docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml",
|
57 |
+
"dxf" => "application/dxf",
|
58 |
+
"eps" => "application/postscript",
|
59 |
+
"pages" => "application/x-iwork-pages-sffpages",
|
60 |
+
"pdf" => "application/pdf",
|
61 |
+
"ppt" => "application/vnd.ms-powerpoint",
|
62 |
+
"pptx" => "application/vnd.openxmlformats-officedocument.presentationml",
|
63 |
+
"ps" => "application/postscript",
|
64 |
+
"psd" => "image/photoshop",
|
65 |
+
"rar" => "application/rar",
|
66 |
+
"svg" => "image/svg+xml",
|
67 |
+
"tif" => "image/tiff",
|
68 |
+
"tiff" => "image/tiff",
|
69 |
+
"ttf" => "application/x-font-ttf",
|
70 |
+
"xls" => "application/vnd.ms-excel",
|
71 |
+
"xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml",
|
72 |
+
"xps" => "application/vnd.ms-xpsdocument",
|
73 |
+
"zip" => "application/zip"
|
|
|
74 |
);
|
75 |
+
$allowed_exts = implode("|",array_keys($supported_exts));
|
76 |
|
77 |
// basic usage: [gview file="http://path.to/file.pdf"]
|
78 |
function gde_gviewer_func($atts) {
|
134 |
if (($gdeoptions['disable_hideerrors'] == "no") || !$gdeoptions['disable_hideerrors']) {
|
135 |
$code = "\n<!-- GDE EMBED ERROR: $status -->\n";
|
136 |
} else {
|
137 |
+
$code = "\n".'<div class="gde-error">Google Doc Embedder '.__('Error', 'gde').": ".$status."</div>\n";
|
138 |
}
|
139 |
} else {
|
140 |
$code = "";
|
158 |
} else {
|
159 |
$uefile = $file;
|
160 |
}
|
161 |
+
// check for proxy
|
162 |
if ($gdeoptions['disable_proxy'] == "no") {
|
163 |
+
$lnk = $pUrl."/proxy.php?url=".$uefile."&hl=".$lang;
|
164 |
+
} else {
|
165 |
+
$lnk = "http://docs.google.com/viewer?url=".$uefile."&hl=".$lang;
|
166 |
+
}
|
167 |
+
// check for mobile
|
168 |
+
if (strstr($gdeoptions['gdet'], 'm') !== false) {
|
169 |
+
$lnk .= "&mobile=true";
|
170 |
} else {
|
171 |
+
$lnk .= "&embedded=true";
|
172 |
}
|
173 |
+
// check for page
|
174 |
if (is_numeric($page)) {
|
175 |
// jump to selected page - experimental (works on refresh but not initial page load)
|
176 |
$page = (int) $page-1;
|
177 |
$lnk = $lnk."#:0.page.".$page;
|
178 |
}
|
|
|
|
|
179 |
// hide download link for anonymous users
|
180 |
get_currentuserinfo();
|
181 |
$dlRestrict = $gdeoptions['restrict_dl'];
|
186 |
}
|
187 |
}
|
188 |
|
189 |
+
$linkcode = "";
|
190 |
if ($save == "yes" || $save == "1") {
|
191 |
|
192 |
$dlMethod = $gdeoptions['link_func'];
|
244 |
|
245 |
// activate plugin
|
246 |
register_activation_hook( __FILE__, 'gde_activate');
|
247 |
+
// allow localisation
|
248 |
+
load_plugin_textdomain('gde', false, basename( dirname( __FILE__ ) ) . '/languages' );
|
249 |
|
250 |
function gde_activate() {
|
251 |
global $wpdb;
|
259 |
function gde_option_page() {
|
260 |
global $gde_settings_page;
|
261 |
|
262 |
+
$gde_settings_page = add_options_page('GDE '.__('Settings', 'gde'), 'GDE '.__('Settings', 'gde'), 'manage_options', basename(__FILE__), 'gde_options');
|
263 |
|
264 |
// enable settings jQuery
|
265 |
add_action( 'admin_enqueue_scripts', 'gde_admin_custom_js' );
|
266 |
}
|
267 |
function gde_options() {
|
268 |
+
if ( function_exists('current_user_can') && !current_user_can('manage_options') ) wp_die('You don\'t have access to this page.');
|
269 |
+
if (! user_can_access_admin_page()) wp_die( __('You do not have sufficient permissions to access this page', 'gde') );
|
270 |
|
271 |
+
require(plugin_dir_path(__FILE__).'/options.php');
|
272 |
add_action('in_admin_footer', 'gde_admin_footer');
|
273 |
}
|
274 |
|
275 |
// add additional links, for convenience
|
276 |
$plugin = plugin_basename(__FILE__);
|
277 |
function gde_actlinks($links) {
|
278 |
+
$settings_link = '<a href="options-general.php?page=gviewer.php">'.__('Settings', 'gde').'</a>';
|
279 |
array_unshift($links, $settings_link);
|
280 |
return $links;
|
281 |
}
|
283 |
global $debug;
|
284 |
$plugin = plugin_basename(__FILE__);
|
285 |
if ($file == $plugin) {
|
286 |
+
$support_link = '<a href="'.GDE_SUPPORT_URL.'">'.__('Support', 'gde').'</a>';
|
287 |
$links[] = $support_link;
|
288 |
}
|
289 |
return $links;
|
295 |
function gde_checkforBeta($plugin) {
|
296 |
global $gde_ver, $pUrl, $gdeoptions;
|
297 |
|
298 |
+
// beta messages
|
299 |
+
$beta_msg['avail'] = array(__('Beta version available', 'gde'), __('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!', 'gde'));
|
300 |
+
$beta_msg['newer'] = array(__('Updated beta version available', 'gde'), __('A newer beta has been released. Please deactivate the plug-in and install the current version. Thanks for your help!', 'gde'));
|
301 |
+
$beta_msg['current'] = array(__('You\'re running a beta version. Please give feedback.', 'gde'), __('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 "Support" link above. Thanks for your help!', 'gde'));
|
302 |
+
$beta_msg['link'] = __('more info', 'gde');
|
303 |
+
|
304 |
$pdata = get_plugin_data(__FILE__);
|
305 |
if (preg_match('/-dev$/i', $pdata['Version'])) { $isbeta = 1; }
|
306 |
|
316 |
$message = $status[3];
|
317 |
|
318 |
if ($isbeta) {
|
319 |
+
$titleStr = $beta_msg['newer'][0];
|
320 |
+
$msgStr = $beta_msg['newer'][1];
|
321 |
} else {
|
322 |
+
$titleStr = $beta_msg['avail'][0];
|
323 |
+
$msgStr = $beta_msg['avail'][1];
|
324 |
}
|
325 |
$message = str_replace("%msg", $msgStr, $message);
|
326 |
|
327 |
if ((version_compare(strval($rver), strval($lver), '>') == 1)) {
|
328 |
+
$msg = "$titleStr: <strong>v".$rver."</strong> - ".$message;
|
329 |
+
echo '<td colspan="5" class="plugin-update" style="line-height:1.2em; font-size:11px; padding:1px;"><div style="background:#A2F099;border:1px solid #4FE23F; padding:2px; font-weight:bold;">'.$titleStr.'. <a href="javascript:void(0);" onclick="jQuery(\'#gde-beta-msg\').toggle();">('.$beta_msg['link'].')</a></div><div id="gde-beta-msg" style="display:none; padding:10px; text-align:center;">'.$msg.'</div></td>';
|
330 |
} elseif ($isbeta) {
|
331 |
+
$msg = $beta_msg['current'][0];
|
332 |
+
echo '<td colspan="5" class="plugin-update" style="line-height:1.2em; font-size:11px; padding:1px;"><div style="border:1px solid; padding:2px; font-weight:bold;">'.$beta_msg['current'][1].' <a href="javascript:void(0);" onclick="jQuery(\'#gde-beta-msg\').toggle();">('.$beta_msg['link'].')</a></div><div id="gde-beta-msg" style="display:none; padding:10px; text-align:center;" >'.$msg.'</div></td>';
|
333 |
} else {
|
334 |
return;
|
335 |
}
|
336 |
} elseif ($isbeta) {
|
337 |
+
$msg = $beta_msg['current'][1];
|
338 |
+
echo '<td colspan="5" class="plugin-update" style="line-height:1.2em; font-size:11px; padding:1px;"><div style="border:1px solid; padding:2px; font-weight:bold;">'.$beta_msg['current'][0].' <a href="javascript:void(0);" onclick="jQuery(\'#gde-beta-msg\').toggle();">('.$beta_msg['link'].')</a></div><div id="gde-beta-msg" style="display:none; padding:10px; text-align:center;" >'.$msg.'</div></td>';
|
339 |
}
|
340 |
}
|
341 |
}
|
351 |
|
352 |
// add tinymce button
|
353 |
add_action('admin_init','gde_mce_addbuttons');
|
354 |
+
|
355 |
+
// extend media upload support to natively unsupported mime types
|
356 |
+
if ($gdeoptions['ed_extend_upload'] == "yes") {
|
357 |
+
add_filter('upload_mimes', 'gde_upload_mimes');
|
358 |
+
}
|
359 |
+
|
360 |
+
// embed shortcode instead of link from media library for supported types
|
361 |
+
if ($gdeoptions['ed_embed_sc'] == "yes") {
|
362 |
+
add_filter('media_send_to_editor', 'gde_media_insert', 20, 3);
|
363 |
+
}
|
364 |
}
|
365 |
|
366 |
// footer credit
|
367 |
function gde_admin_footer() {
|
368 |
$pdata = get_plugin_data(__FILE__);
|
369 |
+
$plugin_str = __('plugin', 'gde');
|
370 |
+
$version_str = __('Version', 'gde');
|
371 |
+
printf('%1$s %2$s | %3$s %4$s<br />', $pdata['Title'], $plugin_str, $version_str, $pdata['Version']);
|
|
|
|
|
|
|
372 |
}
|
373 |
|
374 |
?>
|
img/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// mum's the word.
|
3 |
+
?>
|
js/dialog.js
CHANGED
@@ -6,11 +6,11 @@ var GDEInsertDialog = {
|
|
6 |
var shortcode;
|
7 |
|
8 |
jQuery('.diy').click(function(){
|
9 |
-
|
10 |
-
var dis = jQuery(
|
11 |
|
12 |
-
if (dis) {
|
13 |
-
jQuery('.opt').
|
14 |
jQuery('.gray').css('color','black');
|
15 |
jQuery('#shortcode').val('');
|
16 |
check_uri();
|
@@ -44,6 +44,7 @@ var GDEInsertDialog = {
|
|
44 |
});
|
45 |
jQuery('#url').blur(function(){
|
46 |
update_sc();
|
|
|
47 |
});
|
48 |
|
49 |
function check_uri() {
|
@@ -51,14 +52,17 @@ var GDEInsertDialog = {
|
|
51 |
var path_regex = /^http/i;
|
52 |
|
53 |
if(!(type_regex.test( jQuery('#url').val() )) & ( jQuery('#url').val() !=0 )) {
|
54 |
-
|
55 |
-
jQuery('#uri-note').
|
|
|
56 |
} else {
|
57 |
if(!(path_regex.test( jQuery('#url').val() )) & ( jQuery('#url').val() !=0 )) {
|
58 |
-
|
59 |
-
jQuery('#uri-note').
|
|
|
60 |
} else {
|
61 |
-
jQuery('#uri-note').
|
|
|
62 |
}
|
63 |
}
|
64 |
}
|
6 |
var shortcode;
|
7 |
|
8 |
jQuery('.diy').click(function(){
|
9 |
+
// diy option selected
|
10 |
+
var dis = jQuery(this).prop("checked");
|
11 |
|
12 |
+
if (dis == false) {
|
13 |
+
jQuery('.opt').removeAttr('disabled');
|
14 |
jQuery('.gray').css('color','black');
|
15 |
jQuery('#shortcode').val('');
|
16 |
check_uri();
|
44 |
});
|
45 |
jQuery('#url').blur(function(){
|
46 |
update_sc();
|
47 |
+
check_uri();
|
48 |
});
|
49 |
|
50 |
function check_uri() {
|
52 |
var path_regex = /^http/i;
|
53 |
|
54 |
if(!(type_regex.test( jQuery('#url').val() )) & ( jQuery('#url').val() !=0 )) {
|
55 |
+
// unsupported file type
|
56 |
+
jQuery('#uri-note-file').show();
|
57 |
+
jQuery('#uri-note-base').hide();
|
58 |
} else {
|
59 |
if(!(path_regex.test( jQuery('#url').val() )) & ( jQuery('#url').val() !=0 )) {
|
60 |
+
// file base url appended
|
61 |
+
jQuery('#uri-note-file').hide();
|
62 |
+
jQuery('#uri-note-base').show();
|
63 |
} else {
|
64 |
+
jQuery('#uri-note-file').hide();
|
65 |
+
jQuery('#uri-note-base').hide();
|
66 |
}
|
67 |
}
|
68 |
}
|
js/editor_plugin.js
CHANGED
@@ -1,21 +1,20 @@
|
|
1 |
(function() {
|
2 |
tinymce.PluginManager.requireLangPack('gde');
|
3 |
-
tinymce.create('tinymce.plugins.
|
4 |
init : function(ed,url) {
|
5 |
-
ed.addCommand('
|
6 |
ed.windowManager.open( {
|
7 |
file : url + '/../gde-dialog.php',
|
8 |
width : 420 + parseInt(ed.getLang('gde.delta_width',0)),
|
9 |
height : 540 + parseInt(ed.getLang('gde.delta_height',0)),
|
10 |
inline : 1}, {
|
11 |
-
plugin_url : url
|
12 |
-
some_custom_arg : 'custom arg'
|
13 |
}
|
14 |
)}
|
15 |
);
|
16 |
ed.addButton('gde', {
|
17 |
title : 'Google Doc Embedder',
|
18 |
-
cmd : '
|
19 |
image : url + '/../img/gde-button.png'
|
20 |
});
|
21 |
ed.onNodeChange.add
|
@@ -30,10 +29,10 @@
|
|
30 |
return {
|
31 |
longname : 'Google Doc Embedder',
|
32 |
author : 'Kevin Davis',
|
33 |
-
authorurl : 'http://www.
|
34 |
-
infourl : 'http://www.
|
35 |
-
version : "1.
|
36 |
}
|
37 |
});
|
38 |
-
tinymce.PluginManager.add('gde',tinymce.plugins.
|
39 |
})();
|
1 |
(function() {
|
2 |
tinymce.PluginManager.requireLangPack('gde');
|
3 |
+
tinymce.create('tinymce.plugins.gde', {
|
4 |
init : function(ed,url) {
|
5 |
+
ed.addCommand('gde_cmd', function() {
|
6 |
ed.windowManager.open( {
|
7 |
file : url + '/../gde-dialog.php',
|
8 |
width : 420 + parseInt(ed.getLang('gde.delta_width',0)),
|
9 |
height : 540 + parseInt(ed.getLang('gde.delta_height',0)),
|
10 |
inline : 1}, {
|
11 |
+
plugin_url : url
|
|
|
12 |
}
|
13 |
)}
|
14 |
);
|
15 |
ed.addButton('gde', {
|
16 |
title : 'Google Doc Embedder',
|
17 |
+
cmd : 'gde_cmd',
|
18 |
image : url + '/../img/gde-button.png'
|
19 |
});
|
20 |
ed.onNodeChange.add
|
29 |
return {
|
30 |
longname : 'Google Doc Embedder',
|
31 |
author : 'Kevin Davis',
|
32 |
+
authorurl : 'http://www.davistribe.org/gde',
|
33 |
+
infourl : 'http://www.davistribe.org/gde',
|
34 |
+
version : "1.2"}
|
35 |
}
|
36 |
});
|
37 |
+
tinymce.PluginManager.add('gde',tinymce.plugins.gde);
|
38 |
})();
|
js/gde-jquery.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1 |
-
//(function($jQuery){
|
2 |
jQuery(function ($) {
|
3 |
|
4 |
/* jQuery library for GDE */
|
@@ -36,4 +35,27 @@ jQuery(function ($) {
|
|
36 |
$("#adv-editor").toggle();
|
37 |
});
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
});
|
|
|
1 |
jQuery(function ($) {
|
2 |
|
3 |
/* jQuery library for GDE */
|
35 |
$("#adv-editor").toggle();
|
36 |
});
|
37 |
|
38 |
+
$("#disable_editor").click(function() {
|
39 |
+
var edopt = $(this).prop("checked");
|
40 |
+
if (edopt == true) {
|
41 |
+
gdeHideEdOpt();
|
42 |
+
} else {
|
43 |
+
gdeShowEdOpt();
|
44 |
+
}
|
45 |
+
});
|
46 |
+
|
47 |
+
function gdeHideEdOpt() {
|
48 |
+
$("#ed_embed_sc").removeAttr("checked");
|
49 |
+
$("#ed_extend_upload").removeAttr("checked");
|
50 |
+
$("#ed_embed_sc").attr("disabled","true");
|
51 |
+
$("#ed_extend_upload").attr("disabled","true");
|
52 |
+
}
|
53 |
+
|
54 |
+
function gdeShowEdOpt() {
|
55 |
+
$("#ed_embed_sc").removeAttr("disabled");
|
56 |
+
$("#ed_embed_sc").attr("checked","true");
|
57 |
+
$("#ed_extend_upload").removeAttr("disabled");
|
58 |
+
$("#ed_extend_upload").attr("checked","true");
|
59 |
+
}
|
60 |
+
|
61 |
});
|
js/index.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// mum's the word.
|
3 |
+
?>
|
js/jquery-1.3.2.min.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* jQuery JavaScript Library v1.3.2
|
3 |
-
* http://jquery.com/
|
4 |
-
*
|
5 |
-
* Copyright (c) 2009 John Resig
|
6 |
-
* Dual licensed under the MIT and GPL licenses.
|
7 |
-
* http://docs.jquery.com/License
|
8 |
-
*
|
9 |
-
* Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
|
10 |
-
* Revision: 6246
|
11 |
-
*/
|
12 |
-
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
|
13 |
-
/*
|
14 |
-
* Sizzle CSS Selector Engine - v0.9.3
|
15 |
-
* Copyright 2009, The Dojo Foundation
|
16 |
-
* Released under the MIT, BSD, and GPL Licenses.
|
17 |
-
* More information: http://sizzlejs.com/
|
18 |
-
*/
|
19 |
-
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/tiny_mce_popup.js
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
|
2 |
-
// Uncomment and change this document.domain value if you are loading the script cross subdomains
|
3 |
-
// document.domain = 'moxiecode.com';
|
4 |
-
|
5 |
-
var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return window.dialogArguments||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var e=this,g,a=document.body,c=e.dom.getViewPort(window),d,f;d=e.getWindowArg("mce_width")-c.w;f=e.getWindowArg("mce_height")-c.h;if(e.isWindow){window.resizeBy(d,f)}else{e.editor.windowManager.resizeBy(d,f,e.id)}},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(){var a=window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.domLoaded){return}b.domLoaded=1;if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}document.body.style.display="";if(tinymce.isIE){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}b.restoreSelection();b.resizeToInnerSize();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){tinymce.dom.Event._add(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){a=a.target||a.srcElement;if(a.onchange){a.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_wait:function(){if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);tinyMCEPopup._onDOMLoaded()}});if(document.documentElement.doScroll&&window==window.top){(function(){if(tinyMCEPopup.domLoaded){return}try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}tinyMCEPopup._onDOMLoaded()})()}document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)}else{if(document.addEventListener){window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,false);window.addEventListener("load",tinyMCEPopup._onDOMLoaded,false)}}}};tinyMCEPopup.init();tinyMCEPopup._wait();
|
|
|
|
|
|
|
|
|
|
languages/gde-en_US.mo
ADDED
Binary file
|
languages/gde-en_US.po
ADDED
@@ -0,0 +1,372 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Google Doc Embedder\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2012-05-02 14:16-0600\n"
|
6 |
+
"PO-Revision-Date: 2012-05-02 14:19-0600\n"
|
7 |
+
"Last-Translator: Kevin Davis <kev@tnw.org>\n"
|
8 |
+
"Language-Team: Kevin Davis <kev@tnw.org>\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-Basepath: C:\\Projects\\SVN\\Personal\\gde-dev\\trunk\n"
|
14 |
+
"X-Poedit-Language: English\n"
|
15 |
+
"X-Poedit-Country: UNITED STATES\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
|
18 |
+
#: bootstrap.php:12
|
19 |
+
msgid "Could not find wp-load.php"
|
20 |
+
msgstr ""
|
21 |
+
|
22 |
+
#: gde-dialog.php:34
|
23 |
+
msgid "I'll insert the shortcode myself"
|
24 |
+
msgstr ""
|
25 |
+
|
26 |
+
#: gde-dialog.php:36
|
27 |
+
msgid "GDE Shortcode Options"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: gde-dialog.php:40
|
31 |
+
msgid "Required"
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: gde-dialog.php:43
|
35 |
+
msgid "URL or Filename"
|
36 |
+
msgstr ""
|
37 |
+
|
38 |
+
#: gde-dialog.php:43
|
39 |
+
msgid "Full URL or filename to append to File Base URL"
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
#: gde-dialog.php:45
|
43 |
+
msgid "File Base URL will be prefixed"
|
44 |
+
msgstr ""
|
45 |
+
|
46 |
+
#: gde-dialog.php:46
|
47 |
+
msgid "Unsupported file type"
|
48 |
+
msgstr ""
|
49 |
+
|
50 |
+
#: gde-dialog.php:54
|
51 |
+
msgid "Optional (Override Global Settings)"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: gde-dialog.php:57
|
55 |
+
#: options.php:163
|
56 |
+
msgid "Height"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: gde-dialog.php:57
|
60 |
+
#: gde-dialog.php:61
|
61 |
+
msgid "format:"
|
62 |
+
msgstr ""
|
63 |
+
|
64 |
+
#: gde-dialog.php:57
|
65 |
+
#: gde-dialog.php:61
|
66 |
+
msgid "or"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: gde-dialog.php:61
|
70 |
+
#: options.php:159
|
71 |
+
msgid "Width"
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#: gde-dialog.php:65
|
75 |
+
msgid "Show Download Link"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: gde-dialog.php:66
|
79 |
+
msgid "Yes"
|
80 |
+
msgstr ""
|
81 |
+
|
82 |
+
#: gde-dialog.php:66
|
83 |
+
msgid "No"
|
84 |
+
msgstr ""
|
85 |
+
|
86 |
+
#: gde-dialog.php:71
|
87 |
+
msgid "Show download link only if user is logged in"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
#: gde-dialog.php:77
|
91 |
+
msgid "Disable caching (this document is frequently overwritten)"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: gde-dialog.php:84
|
95 |
+
msgid "Disable internal error checking (try if URL is confirmed good but document doesn't display)"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: gde-dialog.php:94
|
99 |
+
msgid "Shortcode Preview"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
#: gde-dialog.php:103
|
103 |
+
msgid "Insert"
|
104 |
+
msgstr ""
|
105 |
+
|
106 |
+
#: gde-dialog.php:107
|
107 |
+
msgid "Cancel"
|
108 |
+
msgstr ""
|
109 |
+
|
110 |
+
#: gde-functions.php:30
|
111 |
+
msgid "Download"
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
#: gviewer.php:137
|
115 |
+
msgid "Error"
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: gviewer.php:262
|
119 |
+
#: gviewer.php:278
|
120 |
+
#: options.php:122
|
121 |
+
msgid "Settings"
|
122 |
+
msgstr ""
|
123 |
+
|
124 |
+
#: gviewer.php:269
|
125 |
+
msgid "You do not have sufficient permissions to access this page"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: gviewer.php:286
|
129 |
+
msgid "Support"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: gviewer.php:299
|
133 |
+
msgid "Beta version available"
|
134 |
+
msgstr ""
|
135 |
+
|
136 |
+
#: gviewer.php:299
|
137 |
+
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!"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: gviewer.php:300
|
141 |
+
msgid "Updated beta version available"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
#: gviewer.php:300
|
145 |
+
msgid "A newer beta has been released. Please deactivate the plug-in and install the current version. Thanks for your help!"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: gviewer.php:301
|
149 |
+
msgid "You're running a beta version. Please give feedback."
|
150 |
+
msgstr ""
|
151 |
+
|
152 |
+
#: gviewer.php:301
|
153 |
+
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 "Support" link above. Thanks for your help!"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: gviewer.php:302
|
157 |
+
msgid "more info"
|
158 |
+
msgstr ""
|
159 |
+
|
160 |
+
#: gviewer.php:369
|
161 |
+
msgid "plugin"
|
162 |
+
msgstr ""
|
163 |
+
|
164 |
+
#: gviewer.php:370
|
165 |
+
msgid "Version"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
#: options.php:20
|
169 |
+
msgid "Options reset to defaults"
|
170 |
+
msgstr ""
|
171 |
+
|
172 |
+
#: options.php:117
|
173 |
+
msgid "Options updated"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: options.php:133
|
177 |
+
msgid "Viewer Options"
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
#: options.php:138
|
181 |
+
msgid "Viewer Selection"
|
182 |
+
msgstr ""
|
183 |
+
|
184 |
+
#: options.php:139
|
185 |
+
#: options.php:245
|
186 |
+
#: options.php:292
|
187 |
+
msgid "Help"
|
188 |
+
msgstr ""
|
189 |
+
|
190 |
+
#: options.php:141
|
191 |
+
msgid "Google Standard Viewer"
|
192 |
+
msgstr ""
|
193 |
+
|
194 |
+
#: options.php:142
|
195 |
+
msgid "Embed the standard Google Viewer."
|
196 |
+
msgstr ""
|
197 |
+
|
198 |
+
#: options.php:143
|
199 |
+
msgid "Enhanced Viewer"
|
200 |
+
msgstr ""
|
201 |
+
|
202 |
+
#: options.php:144
|
203 |
+
msgid "Use this option to enable toolbar customization and fix some display problems (experimental)."
|
204 |
+
msgstr ""
|
205 |
+
|
206 |
+
#: options.php:148
|
207 |
+
msgid "Customize Toolbar"
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#: options.php:152
|
211 |
+
msgid "Hide Zoom In/Out"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: options.php:153
|
215 |
+
msgid "Hide Open in New Window"
|
216 |
+
msgstr ""
|
217 |
+
|
218 |
+
#: options.php:154
|
219 |
+
msgid "Always Use Mobile Theme"
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: options.php:158
|
223 |
+
msgid "Default Size"
|
224 |
+
msgstr ""
|
225 |
+
|
226 |
+
#: options.php:169
|
227 |
+
msgid "Default Language"
|
228 |
+
msgstr ""
|
229 |
+
|
230 |
+
#: options.php:227
|
231 |
+
msgid "Inline (Default)"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: options.php:228
|
235 |
+
msgid "Collapsible (Open)"
|
236 |
+
msgstr ""
|
237 |
+
|
238 |
+
#: options.php:229
|
239 |
+
msgid "Collapsible (Closed)"
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: options.php:241
|
243 |
+
msgid "Download Link Options"
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: options.php:246
|
247 |
+
msgid "Display the download link by default"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: options.php:247
|
251 |
+
msgid "Only display download link to logged in users"
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: options.php:248
|
255 |
+
msgid "Track downloads in Google Analytics (tracking script must be installed on your site)"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: options.php:251
|
259 |
+
msgid "File Base URL"
|
260 |
+
msgstr ""
|
261 |
+
|
262 |
+
#: options.php:253
|
263 |
+
msgid "Any file not starting with <em>http</em> will be prefixed by this value"
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#: options.php:256
|
267 |
+
msgid "Link Text"
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
#: options.php:258
|
271 |
+
msgid "You can further customize text using these dynamic replacements:"
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: options.php:259
|
275 |
+
msgid "filename"
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: options.php:260
|
279 |
+
msgid "file type"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: options.php:261
|
283 |
+
msgid "file size"
|
284 |
+
msgstr ""
|
285 |
+
|
286 |
+
#: options.php:264
|
287 |
+
msgid "Link Position"
|
288 |
+
msgstr ""
|
289 |
+
|
290 |
+
#: options.php:266
|
291 |
+
msgid "Above Viewer"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
#: options.php:267
|
295 |
+
msgid "Below Viewer"
|
296 |
+
msgstr ""
|
297 |
+
|
298 |
+
#: options.php:272
|
299 |
+
msgid "Link Behavior"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: options.php:274
|
303 |
+
msgid "Browser Default"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: options.php:275
|
307 |
+
msgid "Force Download"
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: options.php:276
|
311 |
+
msgid "Force Download (Mask URL)"
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: options.php:290
|
315 |
+
msgid "Advanced Options"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: options.php:293
|
319 |
+
msgid "Plugin Behavior"
|
320 |
+
msgstr ""
|
321 |
+
|
322 |
+
#: options.php:294
|
323 |
+
msgid "Editor Behavior"
|
324 |
+
msgstr ""
|
325 |
+
|
326 |
+
#: options.php:296
|
327 |
+
msgid "Display error messages inline (not hidden)"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: options.php:297
|
331 |
+
msgid "Disable internal error checking"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: options.php:298
|
335 |
+
msgid "Disable document caching"
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: options.php:299
|
339 |
+
msgid "Disable beta version notifications"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: options.php:302
|
343 |
+
msgid "Disable all editor integration"
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: options.php:307
|
347 |
+
msgid "Insert shortcode from Media Library"
|
348 |
+
msgstr ""
|
349 |
+
|
350 |
+
#: options.php:309
|
351 |
+
msgid "Allow uploads of all supported media types"
|
352 |
+
msgstr ""
|
353 |
+
|
354 |
+
#: options.php:319
|
355 |
+
msgid "Save Options"
|
356 |
+
msgstr ""
|
357 |
+
|
358 |
+
#: options.php:321
|
359 |
+
msgid "Reset to Defaults"
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: options.php:321
|
363 |
+
msgid "Are you sure you want to reset all settings to defaults?"
|
364 |
+
msgstr ""
|
365 |
+
|
366 |
+
#: proxy.php:29
|
367 |
+
msgid ""
|
368 |
+
"This function is not supported on your web server. Please add\n"
|
369 |
+
"\t\t\t<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library.\n"
|
370 |
+
"\t\t\tIf you are unable to do this, please switch to Google Standard Viewer in GDE Options."
|
371 |
+
msgstr ""
|
372 |
+
|
languages/gde.mo
ADDED
Binary file
|
languages/gde.pot
ADDED
@@ -0,0 +1,369 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Google Doc Embedder\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2012-05-02 14:16-0600\n"
|
6 |
+
"PO-Revision-Date: 2012-05-02 14:17-0600\n"
|
7 |
+
"Last-Translator: Kevin Davis <kev@tnw.org>\n"
|
8 |
+
"Language-Team: Kevin Davis <kev@tnw.org>\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-SearchPath-0: .\n"
|
14 |
+
|
15 |
+
#: bootstrap.php:12
|
16 |
+
msgid "Could not find wp-load.php"
|
17 |
+
msgstr ""
|
18 |
+
|
19 |
+
#: gde-dialog.php:34
|
20 |
+
msgid "I'll insert the shortcode myself"
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: gde-dialog.php:36
|
24 |
+
msgid "GDE Shortcode Options"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: gde-dialog.php:40
|
28 |
+
msgid "Required"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: gde-dialog.php:43
|
32 |
+
msgid "URL or Filename"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: gde-dialog.php:43
|
36 |
+
msgid "Full URL or filename to append to File Base URL"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: gde-dialog.php:45
|
40 |
+
msgid "File Base URL will be prefixed"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: gde-dialog.php:46
|
44 |
+
msgid "Unsupported file type"
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: gde-dialog.php:54
|
48 |
+
msgid "Optional (Override Global Settings)"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: gde-dialog.php:57
|
52 |
+
#: options.php:163
|
53 |
+
msgid "Height"
|
54 |
+
msgstr ""
|
55 |
+
|
56 |
+
#: gde-dialog.php:57
|
57 |
+
#: gde-dialog.php:61
|
58 |
+
msgid "format:"
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: gde-dialog.php:57
|
62 |
+
#: gde-dialog.php:61
|
63 |
+
msgid "or"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: gde-dialog.php:61
|
67 |
+
#: options.php:159
|
68 |
+
msgid "Width"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: gde-dialog.php:65
|
72 |
+
msgid "Show Download Link"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
#: gde-dialog.php:66
|
76 |
+
msgid "Yes"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: gde-dialog.php:66
|
80 |
+
msgid "No"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: gde-dialog.php:71
|
84 |
+
msgid "Show download link only if user is logged in"
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: gde-dialog.php:77
|
88 |
+
msgid "Disable caching (this document is frequently overwritten)"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: gde-dialog.php:84
|
92 |
+
msgid "Disable internal error checking (try if URL is confirmed good but document doesn't display)"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
#: gde-dialog.php:94
|
96 |
+
msgid "Shortcode Preview"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: gde-dialog.php:103
|
100 |
+
msgid "Insert"
|
101 |
+
msgstr ""
|
102 |
+
|
103 |
+
#: gde-dialog.php:107
|
104 |
+
msgid "Cancel"
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: gde-functions.php:30
|
108 |
+
msgid "Download"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: gviewer.php:137
|
112 |
+
msgid "Error"
|
113 |
+
msgstr ""
|
114 |
+
|
115 |
+
#: gviewer.php:262
|
116 |
+
#: gviewer.php:278
|
117 |
+
#: options.php:122
|
118 |
+
msgid "Settings"
|
119 |
+
msgstr ""
|
120 |
+
|
121 |
+
#: gviewer.php:269
|
122 |
+
msgid "You do not have sufficient permissions to access this page"
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: gviewer.php:286
|
126 |
+
msgid "Support"
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
#: gviewer.php:299
|
130 |
+
msgid "Beta version available"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: gviewer.php:299
|
134 |
+
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!"
|
135 |
+
msgstr ""
|
136 |
+
|
137 |
+
#: gviewer.php:300
|
138 |
+
msgid "Updated beta version available"
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
#: gviewer.php:300
|
142 |
+
msgid "A newer beta has been released. Please deactivate the plug-in and install the current version. Thanks for your help!"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: gviewer.php:301
|
146 |
+
msgid "You're running a beta version. Please give feedback."
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: gviewer.php:301
|
150 |
+
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 "Support" link above. Thanks for your help!"
|
151 |
+
msgstr ""
|
152 |
+
|
153 |
+
#: gviewer.php:302
|
154 |
+
msgid "more info"
|
155 |
+
msgstr ""
|
156 |
+
|
157 |
+
#: gviewer.php:369
|
158 |
+
msgid "plugin"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: gviewer.php:370
|
162 |
+
msgid "Version"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: options.php:20
|
166 |
+
msgid "Options reset to defaults"
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: options.php:117
|
170 |
+
msgid "Options updated"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: options.php:133
|
174 |
+
msgid "Viewer Options"
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
#: options.php:138
|
178 |
+
msgid "Viewer Selection"
|
179 |
+
msgstr ""
|
180 |
+
|
181 |
+
#: options.php:139
|
182 |
+
#: options.php:245
|
183 |
+
#: options.php:292
|
184 |
+
msgid "Help"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: options.php:141
|
188 |
+
msgid "Google Standard Viewer"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: options.php:142
|
192 |
+
msgid "Embed the standard Google Viewer."
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: options.php:143
|
196 |
+
msgid "Enhanced Viewer"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: options.php:144
|
200 |
+
msgid "Use this option to enable toolbar customization and fix some display problems (experimental)."
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: options.php:148
|
204 |
+
msgid "Customize Toolbar"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: options.php:152
|
208 |
+
msgid "Hide Zoom In/Out"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: options.php:153
|
212 |
+
msgid "Hide Open in New Window"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: options.php:154
|
216 |
+
msgid "Always Use Mobile Theme"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
#: options.php:158
|
220 |
+
msgid "Default Size"
|
221 |
+
msgstr ""
|
222 |
+
|
223 |
+
#: options.php:169
|
224 |
+
msgid "Default Language"
|
225 |
+
msgstr ""
|
226 |
+
|
227 |
+
#: options.php:227
|
228 |
+
msgid "Inline (Default)"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: options.php:228
|
232 |
+
msgid "Collapsible (Open)"
|
233 |
+
msgstr ""
|
234 |
+
|
235 |
+
#: options.php:229
|
236 |
+
msgid "Collapsible (Closed)"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: options.php:241
|
240 |
+
msgid "Download Link Options"
|
241 |
+
msgstr ""
|
242 |
+
|
243 |
+
#: options.php:246
|
244 |
+
msgid "Display the download link by default"
|
245 |
+
msgstr ""
|
246 |
+
|
247 |
+
#: options.php:247
|
248 |
+
msgid "Only display download link to logged in users"
|
249 |
+
msgstr ""
|
250 |
+
|
251 |
+
#: options.php:248
|
252 |
+
msgid "Track downloads in Google Analytics (tracking script must be installed on your site)"
|
253 |
+
msgstr ""
|
254 |
+
|
255 |
+
#: options.php:251
|
256 |
+
msgid "File Base URL"
|
257 |
+
msgstr ""
|
258 |
+
|
259 |
+
#: options.php:253
|
260 |
+
msgid "Any file not starting with <em>http</em> will be prefixed by this value"
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: options.php:256
|
264 |
+
msgid "Link Text"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
#: options.php:258
|
268 |
+
msgid "You can further customize text using these dynamic replacements:"
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: options.php:259
|
272 |
+
msgid "filename"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: options.php:260
|
276 |
+
msgid "file type"
|
277 |
+
msgstr ""
|
278 |
+
|
279 |
+
#: options.php:261
|
280 |
+
msgid "file size"
|
281 |
+
msgstr ""
|
282 |
+
|
283 |
+
#: options.php:264
|
284 |
+
msgid "Link Position"
|
285 |
+
msgstr ""
|
286 |
+
|
287 |
+
#: options.php:266
|
288 |
+
msgid "Above Viewer"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: options.php:267
|
292 |
+
msgid "Below Viewer"
|
293 |
+
msgstr ""
|
294 |
+
|
295 |
+
#: options.php:272
|
296 |
+
msgid "Link Behavior"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: options.php:274
|
300 |
+
msgid "Browser Default"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
#: options.php:275
|
304 |
+
msgid "Force Download"
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: options.php:276
|
308 |
+
msgid "Force Download (Mask URL)"
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
#: options.php:290
|
312 |
+
msgid "Advanced Options"
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: options.php:293
|
316 |
+
msgid "Plugin Behavior"
|
317 |
+
msgstr ""
|
318 |
+
|
319 |
+
#: options.php:294
|
320 |
+
msgid "Editor Behavior"
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: options.php:296
|
324 |
+
msgid "Display error messages inline (not hidden)"
|
325 |
+
msgstr ""
|
326 |
+
|
327 |
+
#: options.php:297
|
328 |
+
msgid "Disable internal error checking"
|
329 |
+
msgstr ""
|
330 |
+
|
331 |
+
#: options.php:298
|
332 |
+
msgid "Disable document caching"
|
333 |
+
msgstr ""
|
334 |
+
|
335 |
+
#: options.php:299
|
336 |
+
msgid "Disable beta version notifications"
|
337 |
+
msgstr ""
|
338 |
+
|
339 |
+
#: options.php:302
|
340 |
+
msgid "Disable all editor integration"
|
341 |
+
msgstr ""
|
342 |
+
|
343 |
+
#: options.php:307
|
344 |
+
msgid "Insert shortcode from Media Library"
|
345 |
+
msgstr ""
|
346 |
+
|
347 |
+
#: options.php:309
|
348 |
+
msgid "Allow uploads of all supported media types"
|
349 |
+
msgstr ""
|
350 |
+
|
351 |
+
#: options.php:319
|
352 |
+
msgid "Save Options"
|
353 |
+
msgstr ""
|
354 |
+
|
355 |
+
#: options.php:321
|
356 |
+
msgid "Reset to Defaults"
|
357 |
+
msgstr ""
|
358 |
+
|
359 |
+
#: options.php:321
|
360 |
+
msgid "Are you sure you want to reset all settings to defaults?"
|
361 |
+
msgstr ""
|
362 |
+
|
363 |
+
#: proxy.php:29
|
364 |
+
msgid ""
|
365 |
+
"This function is not supported on your web server. Please add\n"
|
366 |
+
"\t\t\t<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library.\n"
|
367 |
+
"\t\t\tIf you are unable to do this, please switch to Google Standard Viewer in GDE Options."
|
368 |
+
msgstr ""
|
369 |
+
|
options.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
|
2 |
include_once('gde-functions.php');
|
3 |
|
4 |
global $gdeoptions;
|
@@ -17,7 +17,7 @@ if(isset($_REQUEST['defaults'])) {
|
|
17 |
|
18 |
$set = gde_init('reset');
|
19 |
$gdeoptions = get_option('gde_options');
|
20 |
-
gde_showMessage(
|
21 |
|
22 |
} elseif(isset($_REQUEST['submit'])) {
|
23 |
|
@@ -57,10 +57,9 @@ if(isset($_REQUEST['defaults'])) {
|
|
57 |
//if(isset($_POST['default_display'])) {
|
58 |
// $gdeoptions['default_display'] = $_POST['default_display'];
|
59 |
//}
|
60 |
-
//if(isset($_POST['gdet_i'])) { $newgdet .= "i"; } // no longer visible in standard viewer
|
61 |
-
//if(isset($_POST['gdet_p'])) { $newgdet .= "p"; }
|
62 |
if(isset($_POST['gdet_z'])) { $newgdet .= "z"; }
|
63 |
if(isset($_POST['gdet_n'])) { $newgdet .= "n"; }
|
|
|
64 |
$gdeoptions['restrict_tb'] = $newgdet;
|
65 |
if(isset($_POST['base_url'])) {
|
66 |
$gdeoptions['base_url'] = $_POST['base_url'];
|
@@ -88,6 +87,16 @@ if(isset($_REQUEST['defaults'])) {
|
|
88 |
} else {
|
89 |
$gdeoptions['disable_editor'] = "no";
|
90 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
if(isset($_POST['disable_caching'])) {
|
92 |
$gdeoptions['disable_caching'] = "yes";
|
93 |
} else {
|
@@ -105,13 +114,12 @@ if(isset($_REQUEST['defaults'])) {
|
|
105 |
}
|
106 |
|
107 |
update_option('gde_options', $gdeoptions);
|
108 |
-
gde_showMessage(
|
109 |
}
|
110 |
?>
|
|
|
111 |
<div class="wrap">
|
112 |
-
<?php
|
113 |
-
echo "<h2>".__('Google Doc Embedder Settings')."</h2>";
|
114 |
-
?>
|
115 |
|
116 |
<form action="" method="post">
|
117 |
<?php wp_nonce_field('update-options'); ?>
|
@@ -122,92 +130,93 @@ echo "<h2>".__('Google Doc Embedder Settings')."</h2>";
|
|
122 |
<div class="meta-box-sortabless">
|
123 |
<div id="gde_vieweroptions" class="postbox">
|
124 |
|
125 |
-
<h3 class="hndle"><span
|
126 |
<div class="inside">
|
127 |
|
128 |
<table class="form-table">
|
129 |
<tr valign="top">
|
130 |
-
<th scope="row"
|
131 |
-
<td><div style="float:right;"><a href="<?php echo GDE_VIEWOPT_URL; ?>" target="_blank" title="Help"><img src="<?php echo $himg; ?>"></a></div>
|
132 |
<?php
|
133 |
-
gde_showRadio('yes', 'std-view', 'disable_proxy',
|
134 |
-
<em
|
135 |
-
<?php gde_showRadio('no', 'enh-view', 'disable_proxy',
|
136 |
-
<em
|
137 |
</td>
|
138 |
</tr>
|
139 |
<tr valign="top" id="tbedit" style="<?php echo $tbdisplay; ?>">
|
140 |
-
<th scope="row"
|
141 |
<td>
|
142 |
-
<?php //gde_showCheckTb('gdet_i',
|
143 |
-
<?php //gde_showCheckTb('gdet_p',
|
144 |
-
<?php gde_showCheckTb('gdet_z',
|
145 |
-
<?php gde_showCheckTb('gdet_n',
|
|
|
146 |
</td>
|
147 |
</tr>
|
148 |
<tr valign="top">
|
149 |
-
<th scope="row"
|
150 |
-
<td><strong
|
151 |
-
<?php gde_showOption('px', 'width_type',
|
152 |
-
<?php gde_showOption('pc', 'width_type',
|
153 |
</select>
|
154 |
-
<strong
|
155 |
-
<?php gde_showOption('px', 'height_type',
|
156 |
-
<?php gde_showOption('pc', 'height_type',
|
157 |
</select></td>
|
158 |
</tr>
|
159 |
<tr valign="top">
|
160 |
-
<th scope="row"
|
161 |
<td><select name="default_lang">
|
162 |
|
163 |
-
<?php gde_showOption('cs', 'default_lang',
|
164 |
-
<?php gde_showOption('sr', 'default_lang',
|
165 |
-
<?php gde_showOption('uk', 'default_lang',
|
166 |
-
<?php gde_showOption('el', 'default_lang',
|
167 |
-
<?php gde_showOption('ar', 'default_lang',
|
168 |
-
<?php gde_showOption('in', 'default_lang',
|
169 |
-
<?php gde_showOption('ca', 'default_lang',
|
170 |
-
<?php gde_showOption('da', 'default_lang',
|
171 |
-
<?php gde_showOption('de', 'default_lang',
|
172 |
-
<?php gde_showOption('en_GB', 'default_lang',
|
173 |
-
<?php gde_showOption('en_US', 'default_lang',
|
174 |
-
<?php gde_showOption('es', 'default_lang',
|
175 |
-
<?php gde_showOption('fil', 'default_lang',
|
176 |
-
<?php gde_showOption('fr', 'default_lang',
|
177 |
-
<?php gde_showOption('iw', 'default_lang',
|
178 |
-
<?php gde_showOption('hr', 'default_lang',
|
179 |
-
<?php gde_showOption('it', 'default_lang',
|
180 |
-
<?php gde_showOption('lv', 'default_lang',
|
181 |
-
<?php gde_showOption('lt', 'default_lang',
|
182 |
-
<?php gde_showOption('hu', 'default_lang',
|
183 |
-
<?php gde_showOption('nl', 'default_lang',
|
184 |
-
<?php gde_showOption('no', 'default_lang',
|
185 |
-
<?php gde_showOption('pl', 'default_lang',
|
186 |
-
<?php gde_showOption('pt_BR', 'default_lang',
|
187 |
-
<?php gde_showOption('pt_PT', 'default_lang',
|
188 |
-
<?php gde_showOption('ro', 'default_lang',
|
189 |
-
<?php gde_showOption('sl', 'default_lang',
|
190 |
-
<?php gde_showOption('sk', 'default_lang',
|
191 |
-
<?php gde_showOption('fi', 'default_lang',
|
192 |
-
<?php gde_showOption('sv', 'default_lang',
|
193 |
-
<?php gde_showOption('tr', 'default_lang',
|
194 |
-
<?php gde_showOption('vi', 'default_lang',
|
195 |
-
<?php gde_showOption('ru', 'default_lang',
|
196 |
-
<?php gde_showOption('bg', 'default_lang',
|
197 |
-
<?php gde_showOption('mr', 'default_lang',
|
198 |
-
<?php gde_showOption('hi', 'default_lang',
|
199 |
-
<?php gde_showOption('bn', 'default_lang',
|
200 |
-
<?php gde_showOption('gu', 'default_lang',
|
201 |
-
<?php gde_showOption('or', 'default_lang',
|
202 |
-
<?php gde_showOption('ta', 'default_lang',
|
203 |
-
<?php gde_showOption('te', 'default_lang',
|
204 |
-
<?php gde_showOption('kn', 'default_lang',
|
205 |
-
<?php gde_showOption('ml', 'default_lang',
|
206 |
-
<?php gde_showOption('th', 'default_lang',
|
207 |
-
<?php gde_showOption('zh_CN', 'default_lang',
|
208 |
-
<?php gde_showOption('zh_TW', 'default_lang',
|
209 |
-
<?php gde_showOption('ja', 'default_lang',
|
210 |
-
<?php gde_showOption('ko', 'default_lang',
|
211 |
|
212 |
</select></td>
|
213 |
</tr>
|
@@ -215,9 +224,9 @@ echo "<h2>".__('Google Doc Embedder Settings')."</h2>";
|
|
215 |
<th scope="row">Default Viewer Display</th>
|
216 |
<td><select name="default_display">
|
217 |
|
218 |
-
<?php gde_showOption('inline', 'default_display',
|
219 |
-
<?php gde_showOption('inline-open', 'default_display',
|
220 |
-
<?php gde_showOption('inline-close', 'default_display',
|
221 |
|
222 |
</select></td>
|
223 |
</tr-->
|
@@ -229,41 +238,42 @@ echo "<h2>".__('Google Doc Embedder Settings')."</h2>";
|
|
229 |
|
230 |
<div id="gde_linkoptions" class="postbox">
|
231 |
|
232 |
-
<h3 class="hndle"><span
|
233 |
<div class="inside">
|
234 |
<table class="form-table">
|
235 |
<tr valign="top">
|
236 |
-
<td colspan="2"><div style="float:right;"><a href="<?php echo GDE_LINKOPT_URL; ?>" target="_blank" title="Help"><img src="<?php echo $himg; ?>"></a></div
|
237 |
-
<?php gde_showCheck('
|
238 |
-
<?php gde_showCheck('
|
|
|
239 |
</tr>
|
240 |
<tr valign="top">
|
241 |
-
<th scope="row"
|
242 |
<td><input type="text" size="50" name="base_url" value="<?php echo $gdeoptions['base_url']; ?>" /><br/>
|
243 |
-
Any file not starting with <em>http</em> will be prefixed by this value
|
244 |
</tr>
|
245 |
<tr valign="top">
|
246 |
-
<th scope="row"
|
247 |
<td><input type="text" size="50" name="link_text" value="<?php echo $gdeoptions['link_text']; ?>" /><br/>
|
248 |
-
<em
|
249 |
-
<code>%FN</code> : filename
|
250 |
-
<code>%FT</code> : file type
|
251 |
-
<code>%FS</code> : file size
|
252 |
</tr>
|
253 |
<tr valign="top">
|
254 |
-
<th scope="row"
|
255 |
<td><select name="link_pos">
|
256 |
-
<?php gde_showOption('above', 'link_pos',
|
257 |
-
<?php gde_showOption('below', 'link_pos',
|
258 |
</select>
|
259 |
</td>
|
260 |
</tr>
|
261 |
<tr valign="top">
|
262 |
-
<th scope="row"
|
263 |
<td><select name="link_func">
|
264 |
-
<?php gde_showOption('default', 'link_func',
|
265 |
-
<?php gde_showOption('force', 'link_func',
|
266 |
-
<?php gde_showOption('force-mask', 'link_func',
|
267 |
</select>
|
268 |
</td>
|
269 |
</tr>
|
@@ -277,19 +287,26 @@ Any file not starting with <em>http</em> will be prefixed by this value</td>
|
|
277 |
</div>
|
278 |
|
279 |
<div id="gde_linkoptions" class="postbox">
|
280 |
-
<h3 class="hndle"><span
|
281 |
<div class="inside">
|
282 |
-
<div style="float:right;"><a href="<?php echo GDE_ADVOPT_URL; ?>" target="_blank" title="Help"><img src="<?php echo $himg; ?>"></a></div>
|
283 |
-
<a href="javascript:void(0);" id="advopt-plugin"
|
284 |
-
<a href="javascript:void(0);" id="advopt-editor"
|
285 |
<div id="adv-plugin" style="display:none;padding-left:235px;margin-top:-16px;">
|
286 |
-
<?php gde_showCheck('disable_hideerrors',
|
287 |
-
<?php gde_showCheck('bypass_check',
|
288 |
-
<?php gde_showCheck('disable_caching',
|
289 |
-
<?php gde_showCheck('suppress_beta',
|
290 |
</div>
|
291 |
<div id="adv-editor" style="display:none;padding-left:235px;margin-top:-16px;">
|
292 |
-
<?php gde_showCheck('disable_editor',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
</div>
|
294 |
</div>
|
295 |
</div>
|
@@ -299,9 +316,9 @@ Any file not starting with <em>http</em> will be prefixed by this value</td>
|
|
299 |
|
300 |
<p class="submit" style="padding:0 10px;">
|
301 |
<input type="hidden" id="user-id" name="user_ID" value="<?php echo (int) $user_ID ?>" />
|
302 |
-
<input class="button-primary" type="submit" name="submit" value="<?php
|
303 |
|
304 |
-
<input class="button-secondary" type="submit" name="defaults" value="<?php
|
305 |
</p>
|
306 |
|
307 |
</form>
|
@@ -315,16 +332,17 @@ function gde_showRadio($value, $id, $option, $title, $event = NULL) {
|
|
315 |
if ($gdeoptions[$option] == $value) { $chk = ' checked="checked"'; }
|
316 |
?>
|
317 |
<input type="radio" name="<?php echo $option; ?>" value="<?php echo $value; ?>" id="<?php echo $id; ?>"<?php echo $chk; echo $event; ?> />
|
318 |
-
<label for="<?php echo $id; ?>"><strong><?php
|
319 |
<?php
|
320 |
}
|
321 |
|
322 |
-
function gde_showCheck($option, $title, $link = NULL) {
|
323 |
global $gdeoptions;
|
324 |
if ($gdeoptions[$option] == "yes") { $chk = ' checked="checked"'; }
|
|
|
325 |
?>
|
326 |
-
<input type="checkbox" name="<?php echo $option; ?>" value="1" id="<?php echo $option; ?>"<?php echo $chk; ?> />
|
327 |
-
<label for="<?php echo $option; ?>"><?php
|
328 |
<?php
|
329 |
if ($link) {
|
330 |
echo ' (<a href="'.$link.'" target="_blank">info</a>)';
|
@@ -340,7 +358,7 @@ function gde_showCheckTb($option, $title) {
|
|
340 |
if (strstr($gdet, $option) !== false) { $chk = ' checked="checked"'; }
|
341 |
?>
|
342 |
<input type="checkbox" name="gdet_<?php echo $option; ?>" value="1" id="gdet_<?php echo $option; ?>"<?php echo $chk; ?> />
|
343 |
-
<label for="gdet_<?php echo $option; ?>"><?php
|
344 |
<?php
|
345 |
}
|
346 |
|
@@ -357,7 +375,7 @@ function gde_showMessage($message, $type='updated') {
|
|
357 |
elseif($type == 'error') $class = 'updated error';
|
358 |
else $class = $type;
|
359 |
|
360 |
-
print '<div id="message" class="'.$class.'"><p>' .
|
361 |
}
|
362 |
|
363 |
?>
|
1 |
+
<?php
|
2 |
include_once('gde-functions.php');
|
3 |
|
4 |
global $gdeoptions;
|
17 |
|
18 |
$set = gde_init('reset');
|
19 |
$gdeoptions = get_option('gde_options');
|
20 |
+
gde_showMessage(__('Options reset to defaults', 'gde'));
|
21 |
|
22 |
} elseif(isset($_REQUEST['submit'])) {
|
23 |
|
57 |
//if(isset($_POST['default_display'])) {
|
58 |
// $gdeoptions['default_display'] = $_POST['default_display'];
|
59 |
//}
|
|
|
|
|
60 |
if(isset($_POST['gdet_z'])) { $newgdet .= "z"; }
|
61 |
if(isset($_POST['gdet_n'])) { $newgdet .= "n"; }
|
62 |
+
if(isset($_POST['gdet_m'])) { $newgdet .= "m"; }
|
63 |
$gdeoptions['restrict_tb'] = $newgdet;
|
64 |
if(isset($_POST['base_url'])) {
|
65 |
$gdeoptions['base_url'] = $_POST['base_url'];
|
87 |
} else {
|
88 |
$gdeoptions['disable_editor'] = "no";
|
89 |
}
|
90 |
+
if(isset($_POST['ed_extend_upload'])) {
|
91 |
+
$gdeoptions['ed_extend_upload'] = "yes";
|
92 |
+
} else {
|
93 |
+
$gdeoptions['ed_extend_upload'] = "no";
|
94 |
+
}
|
95 |
+
if(isset($_POST['ed_embed_sc'])) {
|
96 |
+
$gdeoptions['ed_embed_sc'] = "yes";
|
97 |
+
} else {
|
98 |
+
$gdeoptions['ed_embed_sc'] = "no";
|
99 |
+
}
|
100 |
if(isset($_POST['disable_caching'])) {
|
101 |
$gdeoptions['disable_caching'] = "yes";
|
102 |
} else {
|
114 |
}
|
115 |
|
116 |
update_option('gde_options', $gdeoptions);
|
117 |
+
gde_showMessage(__('Options updated', 'gde'));
|
118 |
}
|
119 |
?>
|
120 |
+
|
121 |
<div class="wrap">
|
122 |
+
<h2>Google Doc Embedder <?php _e('Settings', 'gde'); ?></h2>
|
|
|
|
|
123 |
|
124 |
<form action="" method="post">
|
125 |
<?php wp_nonce_field('update-options'); ?>
|
130 |
<div class="meta-box-sortabless">
|
131 |
<div id="gde_vieweroptions" class="postbox">
|
132 |
|
133 |
+
<h3 class="hndle"><span><?php _e('Viewer Options', 'gde'); ?></span></h3>
|
134 |
<div class="inside">
|
135 |
|
136 |
<table class="form-table">
|
137 |
<tr valign="top">
|
138 |
+
<th scope="row"><?php _e('Viewer Selection', 'gde'); ?></th>
|
139 |
+
<td><div style="float:right;"><a href="<?php echo GDE_VIEWOPT_URL; ?>" target="_blank" title="<?php echo __('Help', 'gde'); ?>"><img src="<?php echo $himg; ?>"></a></div>
|
140 |
<?php
|
141 |
+
gde_showRadio('yes', 'std-view', 'disable_proxy', __('Google Standard Viewer', 'gde'), $event); ?><br />
|
142 |
+
<em><?php echo __('Embed the standard Google Viewer.', 'gde'); ?></em><br/>
|
143 |
+
<?php gde_showRadio('no', 'enh-view', 'disable_proxy', __('Enhanced Viewer', 'gde'), $event); ?><br />
|
144 |
+
<em><?php echo __('Use this option to enable toolbar customization and fix some display problems (experimental).', 'gde'); ?></em><br/>
|
145 |
</td>
|
146 |
</tr>
|
147 |
<tr valign="top" id="tbedit" style="<?php echo $tbdisplay; ?>">
|
148 |
+
<th scope="row"><?php _e('Customize Toolbar', 'gde'); ?></th>
|
149 |
<td>
|
150 |
+
<?php //gde_showCheckTb('gdet_i', __('Google Logo', 'gde')); ?>
|
151 |
+
<?php //gde_showCheckTb('gdet_p', __('Single/Double Page View', 'gde')); ?>
|
152 |
+
<?php gde_showCheckTb('gdet_z', __('Hide Zoom In/Out', 'gde')); ?>
|
153 |
+
<?php gde_showCheckTb('gdet_n', __('Hide Open in New Window', 'gde')); ?>
|
154 |
+
<?php gde_showCheckTb('gdet_m', __('Always Use Mobile Theme', 'gde')); ?>
|
155 |
</td>
|
156 |
</tr>
|
157 |
<tr valign="top">
|
158 |
+
<th scope="row"><?php _e('Default Size', 'gde'); ?></th>
|
159 |
+
<td><strong><?php echo __('Width', 'gde'); ?> </strong><input type="text" size="5" name="default_width" value="<?php echo $gdeoptions['default_width']; ?>" /> <select name="width_type" style="padding-right:2px;">
|
160 |
+
<?php gde_showOption('px', 'width_type', 'px'); ?>
|
161 |
+
<?php gde_showOption('pc', 'width_type', '%'); ?>
|
162 |
</select>
|
163 |
+
<strong><?php echo __('Height', 'gde'); ?> </strong><input type="text" size="5" name="default_height" value="<?php echo $gdeoptions['default_height']; ?>" /> <select name="height_type" style="padding-right:2px;">
|
164 |
+
<?php gde_showOption('px', 'height_type', 'px'); ?>
|
165 |
+
<?php gde_showOption('pc', 'height_type', '%'); ?>
|
166 |
</select></td>
|
167 |
</tr>
|
168 |
<tr valign="top">
|
169 |
+
<th scope="row"><?php _e('Default Language', 'gde'); ?></th>
|
170 |
<td><select name="default_lang">
|
171 |
|
172 |
+
<?php gde_showOption('cs', 'default_lang', 'Česky'); ?>
|
173 |
+
<?php gde_showOption('sr', 'default_lang', 'Српски'); ?>
|
174 |
+
<?php gde_showOption('uk', 'default_lang', 'Українська'); ?>
|
175 |
+
<?php gde_showOption('el', 'default_lang', 'Ελληνικά'); ?>
|
176 |
+
<?php gde_showOption('ar', 'default_lang', 'Arabic'); ?>
|
177 |
+
<?php gde_showOption('in', 'default_lang', 'Bahasa Indonesia'); ?>
|
178 |
+
<?php gde_showOption('ca', 'default_lang', 'Català'); ?>
|
179 |
+
<?php gde_showOption('da', 'default_lang', 'Dansk'); ?>
|
180 |
+
<?php gde_showOption('de', 'default_lang', 'Deutsch'); ?>
|
181 |
+
<?php gde_showOption('en_GB', 'default_lang', 'English (UK)'); ?>
|
182 |
+
<?php gde_showOption('en_US', 'default_lang', 'English (US)'); ?>
|
183 |
+
<?php gde_showOption('es', 'default_lang', 'Español'); ?>
|
184 |
+
<?php gde_showOption('fil', 'default_lang', 'Filipino'); ?>
|
185 |
+
<?php gde_showOption('fr', 'default_lang', 'Français'); ?>
|
186 |
+
<?php gde_showOption('iw', 'default_lang', 'Hebrew'); ?>
|
187 |
+
<?php gde_showOption('hr', 'default_lang', 'Hrvatski'); ?>
|
188 |
+
<?php gde_showOption('it', 'default_lang', 'Italiano'); ?>
|
189 |
+
<?php gde_showOption('lv', 'default_lang', 'Latviešu'); ?>
|
190 |
+
<?php gde_showOption('lt', 'default_lang', 'Lietuvių'); ?>
|
191 |
+
<?php gde_showOption('hu', 'default_lang', 'Magyar'); ?>
|
192 |
+
<?php gde_showOption('nl', 'default_lang', 'Nederlands'); ?>
|
193 |
+
<?php gde_showOption('no', 'default_lang', 'Norsk (bokmål)'); ?>
|
194 |
+
<?php gde_showOption('pl', 'default_lang', 'Polski'); ?>
|
195 |
+
<?php gde_showOption('pt_BR', 'default_lang', 'Português (Brasil)'); ?>
|
196 |
+
<?php gde_showOption('pt_PT', 'default_lang', 'Português (Portugal)'); ?>
|
197 |
+
<?php gde_showOption('ro', 'default_lang', 'Română'); ?>
|
198 |
+
<?php gde_showOption('sl', 'default_lang', 'Slovenščina'); ?>
|
199 |
+
<?php gde_showOption('sk', 'default_lang', 'Slovenský'); ?>
|
200 |
+
<?php gde_showOption('fi', 'default_lang', 'Suomi'); ?>
|
201 |
+
<?php gde_showOption('sv', 'default_lang', 'Svenska'); ?>
|
202 |
+
<?php gde_showOption('tr', 'default_lang', 'Türkçe'); ?>
|
203 |
+
<?php gde_showOption('vi', 'default_lang', 'Tiếng Việt'); ?>
|
204 |
+
<?php gde_showOption('ru', 'default_lang', 'Русский'); ?>
|
205 |
+
<?php gde_showOption('bg', 'default_lang', 'български'); ?>
|
206 |
+
<?php gde_showOption('mr', 'default_lang', 'मराठी'); ?>
|
207 |
+
<?php gde_showOption('hi', 'default_lang', 'हिन्दी'); ?>
|
208 |
+
<?php gde_showOption('bn', 'default_lang', 'বাংলা'); ?>
|
209 |
+
<?php gde_showOption('gu', 'default_lang', 'ગુજરાતી'); ?>
|
210 |
+
<?php gde_showOption('or', 'default_lang', 'ଓଡିଆ'); ?>
|
211 |
+
<?php gde_showOption('ta', 'default_lang', 'தமிழ்'); ?>
|
212 |
+
<?php gde_showOption('te', 'default_lang', 'తెలుగు'); ?>
|
213 |
+
<?php gde_showOption('kn', 'default_lang', 'ಕನ್ನಡ'); ?>
|
214 |
+
<?php gde_showOption('ml', 'default_lang', 'മലയാളം'); ?>
|
215 |
+
<?php gde_showOption('th', 'default_lang', 'ภาษาไทย'); ?>
|
216 |
+
<?php gde_showOption('zh_CN', 'default_lang', '中文(简体)'); ?>
|
217 |
+
<?php gde_showOption('zh_TW', 'default_lang', '中文(繁體)'); ?>
|
218 |
+
<?php gde_showOption('ja', 'default_lang', '日本語'); ?>
|
219 |
+
<?php gde_showOption('ko', 'default_lang', '한국어'); ?>
|
220 |
|
221 |
</select></td>
|
222 |
</tr>
|
224 |
<th scope="row">Default Viewer Display</th>
|
225 |
<td><select name="default_display">
|
226 |
|
227 |
+
<?php gde_showOption('inline', 'default_display', __('Inline (Default)', 'gde')); ?>
|
228 |
+
<?php gde_showOption('inline-open', 'default_display', __('Collapsible (Open)', 'gde')); ?>
|
229 |
+
<?php gde_showOption('inline-close', 'default_display', __('Collapsible (Closed)', 'gde')); ?>
|
230 |
|
231 |
</select></td>
|
232 |
</tr-->
|
238 |
|
239 |
<div id="gde_linkoptions" class="postbox">
|
240 |
|
241 |
+
<h3 class="hndle"><span><?php _e('Download Link Options', 'gde'); ?></span></h3>
|
242 |
<div class="inside">
|
243 |
<table class="form-table">
|
244 |
<tr valign="top">
|
245 |
+
<td colspan="2"><div style="float:right;"><a href="<?php echo GDE_LINKOPT_URL; ?>" target="_blank" title="<?php echo __('Help', 'gde'); ?>"><img src="<?php echo $himg; ?>"></a></div>
|
246 |
+
<?php gde_showCheck('show_dl', __('Display the download link by default', 'gde')); ?><br/>
|
247 |
+
<?php gde_showCheck('restrict_dl', __('Only display download link to logged in users', 'gde')); ?><br/>
|
248 |
+
<?php gde_showCheck('enable_ga', __('Track downloads in Google Analytics (tracking script must be installed on your site)', 'gde')); ?></td>
|
249 |
</tr>
|
250 |
<tr valign="top">
|
251 |
+
<th scope="row"><?php _e('File Base URL', 'gde'); ?></th>
|
252 |
<td><input type="text" size="50" name="base_url" value="<?php echo $gdeoptions['base_url']; ?>" /><br/>
|
253 |
+
<?php echo __('Any file not starting with <em>http</em> will be prefixed by this value', 'gde'); ?></td>
|
254 |
</tr>
|
255 |
<tr valign="top">
|
256 |
+
<th scope="row"><?php _e('Link Text', 'gde'); ?></th>
|
257 |
<td><input type="text" size="50" name="link_text" value="<?php echo $gdeoptions['link_text']; ?>" /><br/>
|
258 |
+
<em><?php echo __('You can further customize text using these dynamic replacements:', 'gde'); ?></em><br/>
|
259 |
+
<code>%FN</code> : <?php echo __('filename', 'gde'); ?>
|
260 |
+
<code>%FT</code> : <?php echo __('file type', 'gde'); ?>
|
261 |
+
<code>%FS</code> : <?php echo __('file size', 'gde'); ?></td>
|
262 |
</tr>
|
263 |
<tr valign="top">
|
264 |
+
<th scope="row"><?php _e('Link Position', 'gde'); ?></th>
|
265 |
<td><select name="link_pos">
|
266 |
+
<?php gde_showOption('above', 'link_pos', __('Above Viewer', 'gde')); ?>
|
267 |
+
<?php gde_showOption('below', 'link_pos', __('Below Viewer', 'gde')); ?>
|
268 |
</select>
|
269 |
</td>
|
270 |
</tr>
|
271 |
<tr valign="top">
|
272 |
+
<th scope="row"><?php _e('Link Behavior', 'gde'); ?></th>
|
273 |
<td><select name="link_func">
|
274 |
+
<?php gde_showOption('default', 'link_func', __('Browser Default', 'gde')); ?>
|
275 |
+
<?php gde_showOption('force', 'link_func', __('Force Download', 'gde')); ?>
|
276 |
+
<?php gde_showOption('force-mask', 'link_func', __('Force Download (Mask URL)', 'gde')); ?>
|
277 |
</select>
|
278 |
</td>
|
279 |
</tr>
|
287 |
</div>
|
288 |
|
289 |
<div id="gde_linkoptions" class="postbox">
|
290 |
+
<h3 class="hndle"><span><?php _e('Advanced Options', 'gde'); ?></span></h3>
|
291 |
<div class="inside">
|
292 |
+
<div style="float:right;"><a href="<?php echo GDE_ADVOPT_URL; ?>" target="_blank" title="<?php echo __('Help', 'gde'); ?>"><img src="<?php echo $himg; ?>"></a></div>
|
293 |
+
<a href="javascript:void(0);" id="advopt-plugin"><?php echo __('Plugin Behavior', 'gde'); ?></a> |
|
294 |
+
<a href="javascript:void(0);" id="advopt-editor"><?php echo __('Editor Behavior', 'gde'); ?></a>
|
295 |
<div id="adv-plugin" style="display:none;padding-left:235px;margin-top:-16px;">
|
296 |
+
<?php gde_showCheck('disable_hideerrors', __('Display error messages inline (not hidden)', 'gde')); ?><br />
|
297 |
+
<?php gde_showCheck('bypass_check', __('Disable internal error checking', 'gde')); ?><br />
|
298 |
+
<?php gde_showCheck('disable_caching', __('Disable document caching', 'gde')); ?><br />
|
299 |
+
<?php gde_showCheck('suppress_beta', __('Disable beta version notifications', 'gde')); ?>
|
300 |
</div>
|
301 |
<div id="adv-editor" style="display:none;padding-left:235px;margin-top:-16px;">
|
302 |
+
<?php gde_showCheck('disable_editor', __('Disable all editor integration', 'gde')); ?><br />
|
303 |
+
<?php
|
304 |
+
if ($gdeoptions['disable_editor'] == "yes") {
|
305 |
+
$disabled = "true";
|
306 |
+
} else { $disabled = "false"; }
|
307 |
+
gde_showCheck('ed_embed_sc', __('Insert shortcode from Media Library', 'gde'), null, $disabled);
|
308 |
+
?><br />
|
309 |
+
<?php gde_showCheck('ed_extend_upload', __('Allow uploads of all supported media types', 'gde'), null, $disabled); ?>
|
310 |
</div>
|
311 |
</div>
|
312 |
</div>
|
316 |
|
317 |
<p class="submit" style="padding:0 10px;">
|
318 |
<input type="hidden" id="user-id" name="user_ID" value="<?php echo (int) $user_ID ?>" />
|
319 |
+
<input class="button-primary" type="submit" name="submit" value="<?php _e('Save Options', 'gde') ?>" />
|
320 |
|
321 |
+
<input class="button-secondary" type="submit" name="defaults" value="<?php _e('Reset to Defaults', 'gde') ?>" onClick="javascript:return confirm('<?php echo __('Are you sure you want to reset all settings to defaults?', 'gde'); ?>')" />
|
322 |
</p>
|
323 |
|
324 |
</form>
|
332 |
if ($gdeoptions[$option] == $value) { $chk = ' checked="checked"'; }
|
333 |
?>
|
334 |
<input type="radio" name="<?php echo $option; ?>" value="<?php echo $value; ?>" id="<?php echo $id; ?>"<?php echo $chk; echo $event; ?> />
|
335 |
+
<label for="<?php echo $id; ?>"><strong><?php echo $title; ?></strong></label>
|
336 |
<?php
|
337 |
}
|
338 |
|
339 |
+
function gde_showCheck($option, $title, $link = NULL, $disable = false) {
|
340 |
global $gdeoptions;
|
341 |
if ($gdeoptions[$option] == "yes") { $chk = ' checked="checked"'; }
|
342 |
+
if ($disable == "true") { $dis = ' disabled="true"'; }
|
343 |
?>
|
344 |
+
<input type="checkbox" name="<?php echo $option; ?>" value="1" id="<?php echo $option; ?>"<?php echo $chk; ?><?php echo $dis; ?> />
|
345 |
+
<label for="<?php echo $option; ?>"><?php echo $title; ?></label>
|
346 |
<?php
|
347 |
if ($link) {
|
348 |
echo ' (<a href="'.$link.'" target="_blank">info</a>)';
|
358 |
if (strstr($gdet, $option) !== false) { $chk = ' checked="checked"'; }
|
359 |
?>
|
360 |
<input type="checkbox" name="gdet_<?php echo $option; ?>" value="1" id="gdet_<?php echo $option; ?>"<?php echo $chk; ?> />
|
361 |
+
<label for="gdet_<?php echo $option; ?>"><?php echo $title; ?></label>
|
362 |
<?php
|
363 |
}
|
364 |
|
375 |
elseif($type == 'error') $class = 'updated error';
|
376 |
else $class = $type;
|
377 |
|
378 |
+
print '<div id="message" class="'.$class.'"><p>' . $message . '</p></div>';
|
379 |
}
|
380 |
|
381 |
?>
|
proxy.php
CHANGED
@@ -1,5 +1,12 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
# This proxy code is a bypass for an existing flaw in Google Docs Viewer that breaks the functionality
|
4 |
# for some IE users. If you do not wish to use this code, select Google Standard Viewer rather than
|
5 |
# Enhanced Viewer in GDE Settings. Note that viewer toolbar customization options depend on this
|
@@ -16,118 +23,124 @@
|
|
16 |
|
17 |
// test for allow_url_fopen in php config; try curl for function if disabled
|
18 |
if (ini_get('allow_url_fopen') !== "1") {
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
exit;
|
28 |
-
}
|
29 |
}
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
// fix path to images
|
40 |
-
$search[] = "/viewer/images";
|
41 |
-
$replace[] = "http://docs.google.com/viewer/images";
|
42 |
-
$search[] = "/gview/images";
|
43 |
-
$replace[] = "http://docs.google.com/viewer/images";
|
44 |
-
|
45 |
-
// proxy the javascript file
|
46 |
-
$search[] = "gview/resources_gview/client/js";
|
47 |
-
$replace[] = "?jsfile=gview/resources_gview/client/js";
|
48 |
-
|
49 |
-
if (isset($_GET['gdet'])) {
|
50 |
-
$gdet = $_GET['gdet'];
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
$
|
|
|
|
|
57 |
}
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
|
|
|
|
66 |
# hide zoom in/out (z)
|
67 |
-
if (strstr($
|
68 |
-
$
|
69 |
-
|
70 |
-
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
}
|
73 |
# hide open in new window (n)
|
74 |
-
if (
|
75 |
-
$
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
// get text coordinates file, can not redirect because of same origin policy
|
87 |
-
if (isset($curl)) {
|
88 |
-
$code = curl_get_contents("http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
89 |
-
} else {
|
90 |
-
$code = file_get_contents("http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
91 |
-
}
|
92 |
-
|
93 |
-
header('Content-type: text/xml; charset=UTF-8');
|
94 |
-
echo $code;
|
95 |
-
|
96 |
-
} else if (isset($_GET['a']) && $_GET['a'] == 'bi') {
|
97 |
-
// redirect to images
|
98 |
-
header("Location: http://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
99 |
-
header('Content-type: image/png');
|
100 |
-
|
101 |
-
} else if (isset($_GET['jsfile'])) {
|
102 |
-
// proxy javascript files and replace navigator.cookieEnabled with false
|
103 |
-
if (isset($curl)) {
|
104 |
-
$code = curl_get_contents("http://docs.google.com/" . $_GET['jsfile']);
|
105 |
-
} else {
|
106 |
-
$code = file_get_contents("http://docs.google.com/" . $_GET['jsfile']);
|
107 |
-
}
|
108 |
-
|
109 |
-
$search = array("navigator.cookieEnabled");
|
110 |
-
$replace = array("false");
|
111 |
-
$code = str_replace($search, $replace, $code);
|
112 |
-
|
113 |
-
header('Content-type: text/javascript');
|
114 |
-
echo $code;
|
115 |
-
|
116 |
} else {
|
117 |
-
|
118 |
-
|
119 |
}
|
120 |
|
121 |
function curl_get_contents($url) {
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
|
|
131 |
}
|
132 |
|
133 |
?>
|
1 |
<?php
|
2 |
|
3 |
+
// access wp functions externally
|
4 |
+
require_once('bootstrap.php');
|
5 |
+
|
6 |
+
// get settings
|
7 |
+
$gdeoptions = get_option('gde_options');
|
8 |
+
$tb = $gdeoptions['restrict_tb'];
|
9 |
+
|
10 |
# This proxy code is a bypass for an existing flaw in Google Docs Viewer that breaks the functionality
|
11 |
# for some IE users. If you do not wish to use this code, select Google Standard Viewer rather than
|
12 |
# Enhanced Viewer in GDE Settings. Note that viewer toolbar customization options depend on this
|
23 |
|
24 |
// test for allow_url_fopen in php config; try curl for function if disabled
|
25 |
if (ini_get('allow_url_fopen') !== "1") {
|
26 |
+
if (function_exists('curl_version')) {
|
27 |
+
$curl = 1;
|
28 |
+
} else {
|
29 |
+
$err = _e('This function is not supported on your web server. Please add
|
30 |
+
<code>allow_url_fopen = 1</code> to your php.ini or enable cURL library.
|
31 |
+
If you are unable to do this, please switch to Google Standard Viewer in GDE Options.', 'gde');
|
32 |
+
exit;
|
33 |
+
}
|
|
|
|
|
34 |
}
|
35 |
|
36 |
+
// check for mobile (m)
|
37 |
+
if (strstr($_SERVER['QUERY_STRING'], 'mobile=true') !== false) {
|
38 |
+
$mobile = true;
|
39 |
+
} elseif (strstr($tb, 'm') !== false) {
|
40 |
+
$_SERVER['QUERY_STRING'] .= "&mobile=true";
|
41 |
+
$mobile = true;
|
42 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
+
if (isset($_GET['embedded']) || $_GET['mobile']) {
|
45 |
+
|
46 |
+
// get the src page, change relative path to absolute
|
47 |
+
if (isset($curl)) {
|
48 |
+
$code = curl_get_contents("https://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
49 |
+
} else {
|
50 |
+
$code = file_get_contents("https://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
51 |
}
|
52 |
+
|
53 |
+
// fix path to images - full URL in current viewer makes these unnecessary
|
54 |
+
//$search[] = "/viewer/images";
|
55 |
+
//$replace[] = "https://www.gstatic.com/docs/gview/images/icon_sprites_6.png";
|
56 |
+
//$search[] = "/gview/images";
|
57 |
+
//$replace[] = "https://docs.google.com/viewer/images";
|
58 |
+
|
59 |
+
// proxy the javascript file
|
60 |
+
$search[] = "gview/resources_gview/client/js";
|
61 |
+
$replace[] = "?jsfile=gview/resources_gview/client/js";
|
62 |
+
|
63 |
# hide zoom in/out (z)
|
64 |
+
if (strstr($tb, 'z') !== false) {
|
65 |
+
if ($mobile) {
|
66 |
+
$search[] = ".mobile-button-zoom-out {";
|
67 |
+
$replace[] = ".mobile-button-zoom-out { display: none !important;";
|
68 |
+
$search[] = ".mobile-button-zoom-in {";
|
69 |
+
$replace[] = ".mobile-button-zoom-in { display: none !important;";
|
70 |
+
} else {
|
71 |
+
$search[] = "#zoomOutToolbarButtonIcon {";
|
72 |
+
$replace[] = "#zoomOutToolbarButtonIcon { display: none !important;";
|
73 |
+
$search[] = "#zoomInToolbarButtonIcon {";
|
74 |
+
$replace[] = "#zoomInToolbarButtonIcon { display: none !important;";
|
75 |
+
}
|
76 |
}
|
77 |
# hide open in new window (n)
|
78 |
+
if (!$mobile) {
|
79 |
+
if (strstr($tb, 'n') !== false) {
|
80 |
+
$search[] = "#openInViewerButtonIcon {";
|
81 |
+
$replace[] = "#openInViewerButtonIcon { display: none !important;";
|
82 |
+
}
|
83 |
+
}
|
84 |
+
# hide mobile footer (always)
|
85 |
+
if ($mobile) {
|
86 |
+
$search[] = "#page-footer {";
|
87 |
+
$replace[] = "#page-footer { display: none !important;";
|
88 |
+
}
|
89 |
+
|
90 |
+
// perform replacements
|
91 |
+
$code = str_replace($search, $replace, $code);
|
92 |
+
|
93 |
+
// output page
|
94 |
+
header('Content-type: text/html');
|
95 |
+
echo $code;
|
96 |
+
|
97 |
+
} elseif (isset($_GET['a']) && $_GET['a'] == 'gt') {
|
98 |
+
// get text coordinates file, can not redirect because of same origin policy
|
99 |
+
if (isset($curl)) {
|
100 |
+
$code = curl_get_contents("https://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
101 |
+
} else {
|
102 |
+
$code = file_get_contents("https://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
103 |
+
}
|
104 |
+
|
105 |
+
header('Content-type: text/xml; charset=UTF-8');
|
106 |
+
echo $code;
|
107 |
+
|
108 |
+
} elseif (isset($_GET['a']) && $_GET['a'] == 'bi') {
|
109 |
+
// redirect to images
|
110 |
+
header("Location: https://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
111 |
+
header('Content-type: image/png');
|
112 |
+
|
113 |
+
} elseif (isset($_GET['jsfile'])) {
|
114 |
+
// proxy javascript files and replace navigator.cookieEnabled with false
|
115 |
+
if (isset($curl)) {
|
116 |
+
$code = curl_get_contents("https://docs.google.com/" . $_GET['jsfile']);
|
117 |
+
} else {
|
118 |
+
$code = file_get_contents("https://docs.google.com/" . $_GET['jsfile']);
|
119 |
}
|
120 |
+
|
121 |
+
$search = array("navigator.cookieEnabled");
|
122 |
+
$replace = array("false");
|
123 |
+
$code = str_replace($search, $replace, $code);
|
124 |
+
|
125 |
+
header('Content-type: text/javascript');
|
126 |
+
echo $code;
|
127 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
} else {
|
129 |
+
// everything else, of which there isn't!
|
130 |
+
header("Location: https://docs.google.com/viewer?" . $_SERVER['QUERY_STRING']);
|
131 |
}
|
132 |
|
133 |
function curl_get_contents($url) {
|
134 |
+
$ch = curl_init();
|
135 |
+
$timeout = 5; // set to zero for no timeout
|
136 |
+
curl_setopt ($ch, CURLOPT_URL, $url);
|
137 |
+
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
|
138 |
+
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
|
139 |
+
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
|
140 |
+
$file_contents = curl_exec($ch);
|
141 |
+
curl_close($ch);
|
142 |
+
|
143 |
+
return $file_contents;
|
144 |
}
|
145 |
|
146 |
?>
|
readme.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
=== Google Doc Embedder ===
|
2 |
Contributors: k3davis
|
3 |
Tags: doc, docx, pdf, ppt, pptx, xls, psd, zip, rar, tiff, office, powerpoint, google docs, google
|
4 |
-
Author URI: http://www.
|
5 |
Donate link: http://pledgie.com/campaigns/6048
|
6 |
Requires at least: 2.8
|
7 |
Tested up to: 3.4
|
@@ -28,7 +28,7 @@ Google Doc Embedder lets you embed several types of files into your WordPress pa
|
|
28 |
* XML Paper Specification (XPS)
|
29 |
* Archive Files (ZIP/RAR)
|
30 |
|
31 |
-
Similar to services like Scribd, Google Doc Embedder will allow you to embed these files directly into your page or post, not requiring the user to have Microsoft Word, Adobe Reader, PowerPoint, or other software installed to view the contents. Unlike Scribd, the files do not need to be uploaded to any service first - including Google
|
32 |
|
33 |
Note: Use of this plug-in implies your agreement with Google's published <a href="http://docs.google.com/viewer/TOS?hl=en" target="_blank">Terms of Service</a>.
|
34 |
|
@@ -40,7 +40,7 @@ Note: Use of this plug-in implies your agreement with Google's published <a href
|
|
40 |
|
41 |
Upload the documents to your site using the media upload facility built into WordPress, via FTP, or link to documents on another (public) site. Use the Google Doc Embedder button in the Visual editor to build the appropriate shortcode.
|
42 |
|
43 |
-
For basic manual instructions, please see the FAQ. For advanced usage (including codes not exposed in the editor), see the <a href="http://www.
|
44 |
|
45 |
Go to "GDE Settings" (under "Settings" in the admin panel) to change defaults, or override individually using the shortcode syntax in the FAQ.
|
46 |
|
@@ -67,7 +67,12 @@ This plug-in currently can embed the following:
|
|
67 |
The file to embed must first be publicly available somewhere on the internet. You can upload it to your WordPress site using the standard techniques, or link to a file on another site.
|
68 |
|
69 |
= How do I embed a file in my page or post? =
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
To manually insert the `[gview]` shortcode into your page or post to embed the file, use the syntax below (use of the HTML tab in the editor recommended):
|
73 |
|
@@ -82,7 +87,7 @@ Common optional attributes:
|
|
82 |
* `height=` : To override the default height of the viewer, enter a new height value - e.g., "400" (px) or "80%"
|
83 |
* `cache=` : Set to 0 to bypass the viewer's internal caching (useful only for frequently updated files with the same name)
|
84 |
|
85 |
-
For a list of all available attributes, see <a href="http://www.
|
86 |
|
87 |
= Will it embed files that are password-protected or stored in protected folders/sites? =
|
88 |
Most likely, no. If your file requires a login to view - such as being saved in a password-protected directory, or behind a firewall (on your intranet, etc.), the viewer will probably not be able to access the file. This is what is meant above, that the document should be "publicly available." Please save the file in a publicly accessible location for best results.
|
@@ -94,7 +99,7 @@ View the source on the web page where you've embedded the viewer. In order to de
|
|
94 |
This plug-in utilizes the viewer from Google Docs in a standalone fashion. There is no direct integration with Google Docs and even those documents stored there and shared publicly do not embed reliably with their viewer (ironically), so at this time that use is not supported by the plug-in. Please store your original documents somewhere on your web site in their native supported formats.
|
95 |
|
96 |
= I wish the plug-in had feature XYZ... =
|
97 |
-
That's not a question ;) but if you have any particular ideas on further development of this plug-in, please post <a href="http://wordpress.org/tags/google-document-embedder?forum_id=10#postform">on the forum</a>
|
98 |
|
99 |
== Screenshots ==
|
100 |
|
@@ -104,6 +109,16 @@ That's not a question ;) but if you have any particular ideas on further develop
|
|
104 |
|
105 |
== Changelog ==
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
= 2.3 =
|
108 |
* Added: Option to set base URL for embedded files (thanks KevEd)
|
109 |
* Added: Option to show error messages inline instead of as HTML comments
|
@@ -161,9 +176,9 @@ That's not a question ;) but if you have any particular ideas on further develop
|
|
161 |
* Fixed: Filenames with spaces wouldn't load
|
162 |
* Fixed: Suppress beta notification option not honored
|
163 |
|
164 |
-
<a href="http://
|
165 |
|
166 |
== Upgrade Notice ==
|
167 |
|
168 |
-
= 2.
|
169 |
-
|
1 |
=== Google Doc Embedder ===
|
2 |
Contributors: k3davis
|
3 |
Tags: doc, docx, pdf, ppt, pptx, xls, psd, zip, rar, tiff, office, powerpoint, google docs, google
|
4 |
+
Author URI: http://www.davistribe.org/code/
|
5 |
Donate link: http://pledgie.com/campaigns/6048
|
6 |
Requires at least: 2.8
|
7 |
Tested up to: 3.4
|
28 |
* XML Paper Specification (XPS)
|
29 |
* Archive Files (ZIP/RAR)
|
30 |
|
31 |
+
Similar to services like Scribd, Google Doc Embedder will allow you to embed these files directly into your page or post, not requiring the user to have Microsoft Word, Adobe Reader, PowerPoint, or other software installed to view the contents. Unlike Scribd, the files do not need to be uploaded to any service first - including Google Docs - but can exist anywhere publicly accessible on your site or the internet.
|
32 |
|
33 |
Note: Use of this plug-in implies your agreement with Google's published <a href="http://docs.google.com/viewer/TOS?hl=en" target="_blank">Terms of Service</a>.
|
34 |
|
40 |
|
41 |
Upload the documents to your site using the media upload facility built into WordPress, via FTP, or link to documents on another (public) site. Use the Google Doc Embedder button in the Visual editor to build the appropriate shortcode.
|
42 |
|
43 |
+
For basic manual instructions, please see the FAQ. For advanced usage (including codes not exposed in the editor), see the <a href="http://www.davistribe.org/gde/usage/">web site</a>.
|
44 |
|
45 |
Go to "GDE Settings" (under "Settings" in the admin panel) to change defaults, or override individually using the shortcode syntax in the FAQ.
|
46 |
|
67 |
The file to embed must first be publicly available somewhere on the internet. You can upload it to your WordPress site using the standard techniques, or link to a file on another site.
|
68 |
|
69 |
= How do I embed a file in my page or post? =
|
70 |
+
There are several ways you can insert a supported document, depending on your preference:
|
71 |
+
|
72 |
+
* Manually enter the shortcode (explained below).
|
73 |
+
* Upload a supported file type from a page or post, and from the Media Library, click the "Insert" button.
|
74 |
+
* Use the Google Doc Embedder button in the Visual editor to insert the `[gview]` shortcode.
|
75 |
+
* Paste the URL into the HTML editor, select it, and click the "GDE" quicktag button (HTML editor).
|
76 |
|
77 |
To manually insert the `[gview]` shortcode into your page or post to embed the file, use the syntax below (use of the HTML tab in the editor recommended):
|
78 |
|
87 |
* `height=` : To override the default height of the viewer, enter a new height value - e.g., "400" (px) or "80%"
|
88 |
* `cache=` : Set to 0 to bypass the viewer's internal caching (useful only for frequently updated files with the same name)
|
89 |
|
90 |
+
For a list of all available attributes, see <a href="http://www.davistribe.org/gde/usage/">Usage</a>.
|
91 |
|
92 |
= Will it embed files that are password-protected or stored in protected folders/sites? =
|
93 |
Most likely, no. If your file requires a login to view - such as being saved in a password-protected directory, or behind a firewall (on your intranet, etc.), the viewer will probably not be able to access the file. This is what is meant above, that the document should be "publicly available." Please save the file in a publicly accessible location for best results.
|
99 |
This plug-in utilizes the viewer from Google Docs in a standalone fashion. There is no direct integration with Google Docs and even those documents stored there and shared publicly do not embed reliably with their viewer (ironically), so at this time that use is not supported by the plug-in. Please store your original documents somewhere on your web site in their native supported formats.
|
100 |
|
101 |
= I wish the plug-in had feature XYZ... =
|
102 |
+
That's not a question ;) but if you have any particular ideas on further development of this plug-in, please post <a href="http://wordpress.org/tags/google-document-embedder?forum_id=10#postform">on the forum</a> and I'll see what I can do.
|
103 |
|
104 |
== Screenshots ==
|
105 |
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 2.4 =
|
113 |
+
* Added: Allow native upload/insert of all supported file types
|
114 |
+
* Added: Shortcode inserted from Media Library for supported files
|
115 |
+
* Added: Localization support (translations welcome)
|
116 |
+
* Added: Ability to use mobile theme with Enhanced Viewer
|
117 |
+
* Fixed: Toolbar customization on mobile with Enhanced Viewer
|
118 |
+
* Fixed: Editor integration No longer loads its own TinyMCE/jquery libs
|
119 |
+
* Fixed: URL changes for plugin, help links, beta checking
|
120 |
+
* Fixed: "Moved Temporarily" error in Enhanced Viewer (thanks webmonkeywatts)
|
121 |
+
|
122 |
= 2.3 =
|
123 |
* Added: Option to set base URL for embedded files (thanks KevEd)
|
124 |
* Added: Option to show error messages inline instead of as HTML comments
|
176 |
* Fixed: Filenames with spaces wouldn't load
|
177 |
* Fixed: Suppress beta notification option not honored
|
178 |
|
179 |
+
<a href="http://www.davistribe.org/gde/changelog/" target="_blank">Full history...</a>
|
180 |
|
181 |
== Upgrade Notice ==
|
182 |
|
183 |
+
= 2.4 =
|
184 |
+
Localization, deeper Media Library and editor integration, and more
|