more changes and add comicpress 2.8 for options
This commit is contained in:
parent
0ca3eee9cf
commit
41617f42f1
@ -17,6 +17,7 @@
|
|||||||
<p><?php _e('Need some sane defaults for your theme? Click one of the links below to populate the selectors on the left:', 'keyboard-navigation') ?></p>
|
<p><?php _e('Need some sane defaults for your theme? Click one of the links below to populate the selectors on the left:', 'keyboard-navigation') ?></p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><a href="#" class="pre-populate comicpress_28"><?php _e('Default ComicPress 2.8 Theme', 'keyboard-navigation') ?></a></li>
|
||||||
<li><a href="#" class="pre-populate comicpress_25"><?php _e('Default ComicPress 2.5 Theme', 'keyboard-navigation') ?></a></li>
|
<li><a href="#" class="pre-populate comicpress_25"><?php _e('Default ComicPress 2.5 Theme', 'keyboard-navigation') ?></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -60,6 +61,12 @@
|
|||||||
next: "div#menunav a span.next",
|
next: "div#menunav a span.next",
|
||||||
first: "",
|
first: "",
|
||||||
last: "div#header h1 a"
|
last: "div#header h1 a"
|
||||||
|
},
|
||||||
|
'comicpress_28': {
|
||||||
|
previous: ".navi-prev",
|
||||||
|
next: ".navi-next",
|
||||||
|
first: ".navi-first",
|
||||||
|
last: ".navi-last"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ KeyboardNavigation.get_hrefs = function(fields, admin_mode) {
|
|||||||
while (top_node) {
|
while (top_node) {
|
||||||
if (top_node.href) {
|
if (top_node.href) {
|
||||||
found_properties[key] = top_node.href; is_found = true;
|
found_properties[key] = top_node.href; is_found = true;
|
||||||
if (highlight_selectors) {
|
if (admin_mode) {
|
||||||
var highlight_a = new Element("a", { "title": key + ": " + instructions, "href": top_node.href, "style": "display: block; position: absolute; border: solid #f00 1px; background-color: #ff0; z-index: 1" });
|
var highlight_a = new Element("a", { "title": key + ": " + instructions, "href": top_node.href, "style": "display: block; position: absolute; border: solid #f00 1px; background-color: #ff0; z-index: 1" });
|
||||||
highlight_a.setOpacity(0.5);
|
highlight_a.setOpacity(0.5);
|
||||||
highlight_a.clonePosition(top_node);
|
highlight_a.clonePosition(top_node);
|
||||||
@ -33,7 +33,7 @@ KeyboardNavigation.get_hrefs = function(fields, admin_mode) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (highlight_selectors) {
|
if (admin_mode) {
|
||||||
if (missing_properties.length > 0) {
|
if (missing_properties.length > 0) {
|
||||||
var message = "[Keyboard Navigation] Missing selectors:\n\n" + missing_properties.join("\n");
|
var message = "[Keyboard Navigation] Missing selectors:\n\n" + missing_properties.join("\n");
|
||||||
if (top.console) {
|
if (top.console) {
|
||||||
|
@ -6,6 +6,8 @@ Description: Attach keyboard navigation to blog entries.
|
|||||||
Version: 1.0
|
Version: 1.0
|
||||||
Author: John Bintz
|
Author: John Bintz
|
||||||
Author URI: http://www.coswellproductions.org/wordpress/
|
Author URI: http://www.coswellproductions.org/wordpress/
|
||||||
|
Requires at least: 2.7
|
||||||
|
Tested up to: 2.8.4
|
||||||
|
|
||||||
Copyright 2008-2009 John Bintz (email : jcoswell@coswellproductions.org)
|
Copyright 2008-2009 John Bintz (email : jcoswell@coswellproductions.org)
|
||||||
|
|
||||||
@ -29,7 +31,7 @@ class KeyboardNavigation {
|
|||||||
function init() {
|
function init() {
|
||||||
wp_enqueue_script('prototype');
|
wp_enqueue_script('prototype');
|
||||||
|
|
||||||
add_action('wp_footer', array(&$this, "footer"));
|
add_action('wp_footer', array(&$this, "wp_footer"));
|
||||||
add_action('admin_menu', array(&$this, "admin_menu"));
|
add_action('admin_menu', array(&$this, "admin_menu"));
|
||||||
add_action('admin_head', array(&$this, "admin_head"));
|
add_action('admin_head', array(&$this, "admin_head"));
|
||||||
|
|
||||||
@ -69,25 +71,32 @@ class KeyboardNavigation {
|
|||||||
|
|
||||||
function KeyboardNavigation() {}
|
function KeyboardNavigation() {}
|
||||||
|
|
||||||
function footer() {
|
function wp_footer() {
|
||||||
$plugin_url_root = pathfinding_get_admin_url() . '/' . pathfinding_get_plugin_path(); ?>
|
$plugin_dir_url = plugin_dir_url(__FILE__);
|
||||||
<script type="text/javascript" src="<?php echo $plugin_url_root ?>/keyboard_navigation.js"></script>
|
$options = get_option('keyboard-navigation-options');
|
||||||
<script type="text/javascript">
|
$nonce = wp_create_nonce('keyboard-navigation');
|
||||||
|
$options = get_option('keyboard-navigation-options');
|
||||||
|
if (!is_array($options)) { $options = array(); }
|
||||||
|
|
||||||
|
?><script type="text/javascript">
|
||||||
|
var s = document.createElement('script');
|
||||||
|
s.src = '<?php echo $plugin_dir_url . 'keyboard-navigation.js' ?>';
|
||||||
|
s.onload = function() {
|
||||||
var keyboard_navigation_fields = {};
|
var keyboard_navigation_fields = {};
|
||||||
<?php foreach (array_keys($this->fields) as $field) {
|
<?php foreach (array_keys($this->fields) as $field) {
|
||||||
$selector = get_option("keyboard-navigation-selector-${field}");
|
if (!empty($options['selectors'][$field])) { ?>
|
||||||
if (!empty($selector)) { ?>
|
keyboard_navigation_fields['<?php echo $field ?>'] = "<?php echo addslashes($options['selectors'][$field]) ?>";
|
||||||
keyboard_navigation_fields['<?php echo $field ?>'] = "<?php echo addslashes($selector) ?>";
|
|
||||||
<?php }
|
<?php }
|
||||||
} ?>
|
} ?>
|
||||||
|
|
||||||
var highlight_selectors = <?php echo (WP_ADMIN && (get_option("keyboard-navigation-highlight-selected-elements") == 1)) ? "true" : "false" ?>;
|
var highlight_selectors = <?php echo (current_user_can('edit_themes') && $options['highlight']) ? "true" : "false" ?>;
|
||||||
|
|
||||||
var results = KeyboardNavigation.get_hrefs(keyboard_navigation_fields, highlight_selectors);
|
var results = KeyboardNavigation.get_hrefs(keyboard_navigation_fields, highlight_selectors);
|
||||||
if (results != false) { KeyboardNavigation.add_events(results); }
|
if (results != false) { KeyboardNavigation.add_events(results); }
|
||||||
</script>
|
};
|
||||||
<?php
|
document.getElementsByTagName('body')[0].appendChild(s);
|
||||||
}
|
</script>
|
||||||
|
<?php }
|
||||||
|
|
||||||
function admin_menu() {
|
function admin_menu() {
|
||||||
add_options_page('Keyboard Navigation', __("Keyboard Navigation", 'keyboard-navigation'), 'edit_themes', 'keyboard-navigation', array($this, "link_editor"));
|
add_options_page('Keyboard Navigation', __("Keyboard Navigation", 'keyboard-navigation'), 'edit_themes', 'keyboard-navigation', array($this, "link_editor"));
|
||||||
@ -108,7 +117,7 @@ class KeyboardNavigation {
|
|||||||
if (!is_array($options)) { $options = array(); }
|
if (!is_array($options)) { $options = array(); }
|
||||||
|
|
||||||
$plugin_data = get_plugin_data(__FILE__);
|
$plugin_data = get_plugin_data(__FILE__);
|
||||||
|
|
||||||
include(dirname(__FILE__) . '/admin.inc');
|
include(dirname(__FILE__) . '/admin.inc');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user