forked from radgeek/feedwordpress
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfeedwordpresssettingsui.class.php
More file actions
156 lines (135 loc) · 4.88 KB
/
feedwordpresssettingsui.class.php
File metadata and controls
156 lines (135 loc) · 4.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<?php
/**
* class FeedWordPressSettingsUI: Module to package several functions related to the
* WordPress administrative / settings interface.
*/
class FeedWordPressSettingsUI {
static function is_admin () {
$admin_page = false; // Innocent until proven guilty
if (!is_null(MyPHP::request('page'))) :
$fwp = preg_quote(FeedWordPress::path());
$admin_page = (
is_admin()
and preg_match("|^${fwp}/|", MyPHP::request('page'))
);
endif;
return $admin_page;
}
static function admin_scripts () {
wp_enqueue_script('post'); // for magic tag and category boxes
wp_enqueue_script('admin-forms'); // for checkbox selection
wp_register_script('feedwordpress-elements', plugins_url( 'assets/js/feedwordpress-elements.js', __FILE__ ) );
wp_enqueue_script('feedwordpress-elements');
}
static function admin_styles () {
?>
<style type="text/css">
#feedwordpress-admin-feeds .link-rss-params-remove .x, .feedwordpress-admin .remove-it .x {
background: url(<?php print admin_url('images/xit.gif') ?>) no-repeat scroll 0 0 transparent;
}
#feedwordpress-admin-feeds .link-rss-params-remove:hover .x, .feedwordpress-admin .remove-it:hover .x {
background: url(<?php print admin_url('images/xit.gif') ?>) no-repeat scroll -10px 0 transparent;
}
.fwpfs {
background-image: url(<?php print admin_url('images/fav.png'); ?>);
background-repeat: repeat-x;
background-position: left center;
background-attachment: scroll;
}
.fwpfs.slide-down {
background-image:url(<?php print admin_url('images/fav-top.png'); ?>);
background-position:0 top;
background-repeat:repeat-x;
}
.update-results {
max-width: 100%;
overflow: auto;
}
</style>
<?php
} /* FeedWordPressSettingsUI::admin_styles () */
static function ajax_nonce_fields () {
if (function_exists('wp_nonce_field')) :
echo "<form style='display: none' method='get' action=''>\n<p>\n";
wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
echo "</p>\n</form>\n";
endif;
} /* FeedWordPressSettingsUI::ajax_nonce_fields () */
static function fix_toggles_js ($context) {
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
// In case someone got here first...
$('.postbox h3, .postbox .handlediv').unbind('click');
$('.postbox h3 a').unbind('click');
$('.hide-postbox-tog').unbind('click');
$('.columns-prefs input[type="radio"]').unbind('click');
$('.meta-box-sortables').sortable('destroy');
postboxes.add_postbox_toggles('<?php print $context; ?>');
} );
</script>
<?php
} /* FeedWordPressSettingsUI::fix_toggles_js () */
/**
* get_template_part: load a template (usually templated HTML) from the FeedWordPress plugins
* directory, in a way similar to the WordPress theme function get_template_part() loads a
* template module from the theme directory.
*
* @param string $slug The slug name for the generic template
* @param string $name The name of the specialized template
* @param array $args Additional arguments passed to the template.
*/
static public function get_template_part ( $slug, $name = null, $type = null, $args = array() ) {
global $feedwordpress;
do_action( "feedwordpress_get_template_part_${slug}", $slug, $name, $type, $args );
$templates = array();
$name = (string) $name;
$type = (string) $type;
$ext = ".php";
if ( strlen($type) > 0 ):
$ext = ".${type}${ext}";
endif;
if ( strlen($name) > 0 ) :
$templates[] = "${slug}-${name}${ext}";
endif;
$templates[] = "${slug}${ext}";
do_action( "feedwordpress_get_template_part", $slug, $name, $type, $args );
// locate_template
$located = '';
foreach ( $templates as $template_name ) :
if ( !! $template_name ) :
$templatePath = $feedwordpress->plugin_dir_path('templates/' . $template_name);
if ( is_readable( $templatePath ) ) :
$located = $templatePath;
break;
endif;
endif;
endforeach;
if ( strlen($located) > 0 ) :
load_template( $located, /*require_once=*/ false, /*args=*/ $args );
endif;
} /* FeedWordPressSettingsUI::get_template_part () */
static function magic_input_tip_js ($id) {
if (!preg_match('/^[.#]/', $id)) :
$id = '#'.$id;
endif;
?>
<script type="text/javascript">
jQuery(document).ready( function () {
var inputBox = jQuery("<?php print $id; ?>");
var boxEl = inputBox.get(0);
if (boxEl.value==boxEl.defaultValue) { inputBox.addClass('form-input-tip'); }
inputBox.focus(function() {
if ( this.value == this.defaultValue )
jQuery(this).val( '' ).removeClass( 'form-input-tip' );
});
inputBox.blur(function() {
if ( this.value == '' )
jQuery(this).val( this.defaultValue ).addClass( 'form-input-tip' );
});
} );
</script>
<?php
} /* FeedWordPressSettingsUI::magic_input_tip_js () */
} /* class FeedWordPressSettingsUI */