1 | <?php
|
---|
2 | require_once(dirname(__FILE__) . '/admin-ui.php');
|
---|
3 |
|
---|
4 | function fwp_authors_page () {
|
---|
5 | global $wpdb, $wp_db_version;
|
---|
6 |
|
---|
7 | FeedWordPressCompatibility::validate_http_request(/*action=*/ 'feedwordpress_author_settings', /*capability=*/ 'manage_links');
|
---|
8 |
|
---|
9 | if (isset($GLOBALS['fwp_post']['save']) or isset($GLOBALS['fwp_post']['fix_mismatch'])) :
|
---|
10 | $link_id = $_REQUEST['save_link_id'];
|
---|
11 | elseif (isset($_REQUEST['link_id'])) :
|
---|
12 | $link_id = $_REQUEST['link_id'];
|
---|
13 | else :
|
---|
14 | $link_id = NULL;
|
---|
15 | endif;
|
---|
16 |
|
---|
17 | if (is_numeric($link_id) and $link_id) :
|
---|
18 | $link =& new SyndicatedLink($link_id);
|
---|
19 | else :
|
---|
20 | $link = NULL;
|
---|
21 | endif;
|
---|
22 |
|
---|
23 | $mesg = null;
|
---|
24 |
|
---|
25 | if (isset($GLOBALS['fwp_post']['fix_mismatch'])) :
|
---|
26 | if ('newuser'==$GLOBALS['fwp_post']['fix_mismatch_to']) :
|
---|
27 | $newuser_name = trim($GLOBALS['fwp_post']['fix_mismatch_to_newuser']);
|
---|
28 | if (strlen($newuser_name) > 0) :
|
---|
29 | $userdata = array();
|
---|
30 | $userdata['ID'] = NULL;
|
---|
31 |
|
---|
32 | $userdata['user_login'] = sanitize_user($newuser_name);
|
---|
33 | $userdata['user_login'] = apply_filters('pre_user_login', $userdata['user_login']);
|
---|
34 |
|
---|
35 | $userdata['user_nicename'] = sanitize_title($newuser_name);
|
---|
36 | $userdata['user_nicename'] = apply_filters('pre_user_nicename', $userdata['user_nicename']);
|
---|
37 |
|
---|
38 | $userdata['display_name'] = $wpdb->escape($newuser_name);
|
---|
39 |
|
---|
40 | $newuser_id = wp_insert_user($userdata);
|
---|
41 | if (is_numeric($newuser_id)) :
|
---|
42 | $fix_mismatch_to_id = $newuser_id;
|
---|
43 | else :
|
---|
44 | // TODO: Add some error detection and reporting
|
---|
45 | endif;
|
---|
46 | else :
|
---|
47 | // TODO: Add some error reporting
|
---|
48 | endif;
|
---|
49 | else :
|
---|
50 | $fix_mismatch_to_id = $GLOBALS['fwp_post']['fix_mismatch_to'];
|
---|
51 | endif;
|
---|
52 | $fix_mismatch_from_id = (int) $GLOBALS['fwp_post']['fix_mismatch_from'];
|
---|
53 | if (is_numeric($fix_mismatch_from_id)) :
|
---|
54 | // Make a list of all the items by this author syndicated from this feed...
|
---|
55 | $post_ids = $wpdb->get_col("
|
---|
56 | SELECT {$wpdb->posts}.id
|
---|
57 | FROM {$wpdb->posts}, {$wpdb->postmeta}
|
---|
58 | WHERE ({$wpdb->posts}.id = {$wpdb->postmeta}.post_id)
|
---|
59 | AND {$wpdb->postmeta}.meta_key = 'syndication_feed_id'
|
---|
60 | AND {$wpdb->postmeta}.meta_value = '{$link_id}'
|
---|
61 | AND {$wpdb->posts}.post_author = '{$fix_mismatch_from_id}'
|
---|
62 | ");
|
---|
63 |
|
---|
64 | if (count($post_ids) > 0) :
|
---|
65 | // Re-assign them all to the correct author
|
---|
66 | if (is_numeric($fix_mismatch_to_id)) : // re-assign to a particular user
|
---|
67 | $post_set = "(".implode(",", $post_ids).")";
|
---|
68 |
|
---|
69 | // Getting the revisions too, if there are any
|
---|
70 | if (fwp_test_wp_version(FWP_SCHEMA_26)) :
|
---|
71 | $parent_in_clause = "OR {$wpdb->posts}.post_parent IN $post_set";
|
---|
72 | else :
|
---|
73 | $parent_in_clause = '';
|
---|
74 | endif;
|
---|
75 |
|
---|
76 | $wpdb->query("
|
---|
77 | UPDATE {$wpdb->posts}
|
---|
78 | SET post_author='{$fix_mismatch_to_id}'
|
---|
79 | WHERE ({$wpdb->posts}.id IN $post_set
|
---|
80 | $parent_in_clause)
|
---|
81 | ");
|
---|
82 | $mesg = "Re-assigned ".count($post_ids)." post".((count($post_ids)==1)?'':'s').".";
|
---|
83 |
|
---|
84 | // ... and kill them all
|
---|
85 | elseif ($fix_mismatch_to_id=='filter') :
|
---|
86 | foreach ($post_ids as $post_id) :
|
---|
87 | wp_delete_post($post_id);
|
---|
88 | endforeach;
|
---|
89 | $mesg = "Deleted ".count($post_ids)." post".((count($post_ids)==1)?'':'s').".";
|
---|
90 | endif;
|
---|
91 | else :
|
---|
92 | $mesg = "Couldn't find any posts that matched your criteria.";
|
---|
93 | endif;
|
---|
94 | endif;
|
---|
95 | elseif (isset($GLOBALS['fwp_post']['save'])) :
|
---|
96 | if (is_object($link) and $link->found()) :
|
---|
97 | $alter = array ();
|
---|
98 |
|
---|
99 | // Unfamiliar author rule
|
---|
100 | if (isset($GLOBALS['fwp_post']["unfamiliar_author"])) :
|
---|
101 | if ('site-default'==$GLOBALS['fwp_post']["unfamiliar_author"]) :
|
---|
102 | unset($link->settings["unfamiliar author"]);
|
---|
103 | elseif ('newuser'==$GLOBALS['fwp_post']["unfamiliar_author"]) :
|
---|
104 | $newuser_name = trim($GLOBALS['fwp_post']["unfamiliar_author_newuser"]);
|
---|
105 | $link->map_name_to_new_user(/*name=*/ NULL, $newuser_name);
|
---|
106 | else :
|
---|
107 | $link->settings["unfamiliar author"] = $GLOBALS['fwp_post']["unfamiliar_author"];
|
---|
108 | endif;
|
---|
109 | endif;
|
---|
110 |
|
---|
111 | // Handle author mapping rules
|
---|
112 | if (isset($GLOBALS['fwp_post']['author_rules_name']) and isset($GLOBALS['fwp_post']['author_rules_action'])) :
|
---|
113 | unset($link->settings['map authors']);
|
---|
114 | foreach ($GLOBALS['fwp_post']['author_rules_name'] as $key => $name) :
|
---|
115 | // Normalize for case and whitespace
|
---|
116 | $name = strtolower(trim($name));
|
---|
117 | $author_action = strtolower(trim($GLOBALS['fwp_post']['author_rules_action'][$key]));
|
---|
118 |
|
---|
119 | if (strlen($name) > 0) :
|
---|
120 | if ('newuser' == $author_action) :
|
---|
121 | $newuser_name = trim($GLOBALS['fwp_post']['author_rules_newuser'][$key]);
|
---|
122 | $link->map_name_to_new_user($name, $newuser_name);
|
---|
123 | else :
|
---|
124 | $link->settings['map authors']['name'][$name] = $author_action;
|
---|
125 | endif;
|
---|
126 | endif;
|
---|
127 | endforeach;
|
---|
128 | endif;
|
---|
129 |
|
---|
130 | if (isset($GLOBALS['fwp_post']['add_author_rule_name']) and isset($GLOBALS['fwp_post']['add_author_rule_action'])) :
|
---|
131 | $name = strtolower(trim($GLOBALS['fwp_post']['add_author_rule_name']));
|
---|
132 | $author_action = strtolower(trim($GLOBALS['fwp_post']['add_author_rule_action']));
|
---|
133 | if (strlen($name) > 0) :
|
---|
134 | if ('newuser' == $author_action) :
|
---|
135 | $newuser_name = trim($GLOBALS['fwp_post']['add_author_rule_newuser']);
|
---|
136 | $link->map_name_to_new_user($name, $newuser_name);
|
---|
137 | else :
|
---|
138 | $link->settings['map authors']['name'][$name] = $author_action;
|
---|
139 | endif;
|
---|
140 | endif;
|
---|
141 | endif;
|
---|
142 |
|
---|
143 | $alter[] = "link_notes = '".$wpdb->escape($link->settings_to_notes())."'";
|
---|
144 |
|
---|
145 | $alter_set = implode(", ", $alter);
|
---|
146 |
|
---|
147 | // issue update query
|
---|
148 | $result = $wpdb->query("
|
---|
149 | UPDATE $wpdb->links
|
---|
150 | SET $alter_set
|
---|
151 | WHERE link_id='$link_id'
|
---|
152 | ");
|
---|
153 | $updated_link = true;
|
---|
154 |
|
---|
155 | // reload link information from DB
|
---|
156 | if (function_exists('clean_bookmark_cache')) :
|
---|
157 | clean_bookmark_cache($link_id);
|
---|
158 | endif;
|
---|
159 | $link =& new SyndicatedLink($link_id);
|
---|
160 | else :
|
---|
161 | if ('newuser'==$GLOBALS['fwp_post']['unfamiliar_author']) :
|
---|
162 | $newuser_name = trim($GLOBALS['fwp_post']['unfamiliar_author_newuser']);
|
---|
163 | if (strlen($newuser_name) > 0) :
|
---|
164 | $userdata = array();
|
---|
165 | $userdata['ID'] = NULL;
|
---|
166 |
|
---|
167 | $userdata['user_login'] = sanitize_user($newuser_name);
|
---|
168 | $userdata['user_login'] = apply_filters('pre_user_login', $userdata['user_login']);
|
---|
169 |
|
---|
170 | $userdata['user_nicename'] = sanitize_title($newuser_name);
|
---|
171 | $userdata['user_nicename'] = apply_filters('pre_user_nicename', $userdata['user_nicename']);
|
---|
172 |
|
---|
173 | $userdata['display_name'] = $wpdb->escape($newuser_name);
|
---|
174 |
|
---|
175 | $newuser_id = wp_insert_user($userdata);
|
---|
176 | if (is_numeric($newuser_id)) :
|
---|
177 | update_option('feedwordpress_unfamiliar_author', $newuser_id);
|
---|
178 | else :
|
---|
179 | // TODO: Add some error detection and reporting
|
---|
180 | endif;
|
---|
181 | else :
|
---|
182 | // TODO: Add some error reporting
|
---|
183 | endif;
|
---|
184 | else :
|
---|
185 | update_option('feedwordpress_unfamiliar_author', $GLOBALS['fwp_post']['unfamiliar_author']);
|
---|
186 | endif;
|
---|
187 |
|
---|
188 | if (isset($GLOBALS['fwp_post']['match_author_by_email']) and $GLOBALS['fwp_post']['match_author_by_email']=='yes') :
|
---|
189 | update_option('feedwordpress_do_not_match_author_by_email', 'no');
|
---|
190 | else :
|
---|
191 | update_option('feedwordpress_do_not_match_author_by_email', 'yes');
|
---|
192 | endif;
|
---|
193 |
|
---|
194 | if (isset($GLOBALS['fwp_post']['null_emails'])) :
|
---|
195 | update_option('feedwordpress_null_email_set', $GLOBALS['fwp_post']['null_emails']);
|
---|
196 | endif;
|
---|
197 |
|
---|
198 | $updated_link = true;
|
---|
199 | endif;
|
---|
200 | else :
|
---|
201 | $updated_link = false;
|
---|
202 | endif;
|
---|
203 |
|
---|
204 | $unfamiliar = array ('create' => '','default' => '','filter' => '');
|
---|
205 |
|
---|
206 | if (is_object($link) and $link->found()) :
|
---|
207 | if (is_string($link->settings["unfamiliar author"])) :
|
---|
208 | $key = $link->settings["unfamiliar author"];
|
---|
209 | else:
|
---|
210 | $key = 'site-default';
|
---|
211 | endif;
|
---|
212 | else :
|
---|
213 | $key = FeedWordPress::on_unfamiliar('author');
|
---|
214 | endif;
|
---|
215 |
|
---|
216 | $unfamiliar[$key] = ' selected="selected"';
|
---|
217 |
|
---|
218 | $match_author_by_email = !('yes' == get_option("feedwordpress_do_not_match_author_by_email"));
|
---|
219 | $null_emails = FeedWordPress::null_email_set();
|
---|
220 | ?>
|
---|
221 | <script type="text/javascript">
|
---|
222 | function contextual_appearance (item, appear, disappear, value, visibleStyle, checkbox) {
|
---|
223 | if (typeof(visibleStyle)=='undefined') visibleStyle = 'block';
|
---|
224 |
|
---|
225 | var rollup=document.getElementById(item);
|
---|
226 | var newuser=document.getElementById(appear);
|
---|
227 | var sitewide=document.getElementById(disappear);
|
---|
228 | if (rollup) {
|
---|
229 | if ((checkbox && rollup.checked) || (!checkbox && value==rollup.value)) {
|
---|
230 | if (newuser) newuser.style.display=visibleStyle;
|
---|
231 | if (sitewide) sitewide.style.display='none';
|
---|
232 | } else {
|
---|
233 | if (newuser) newuser.style.display='none';
|
---|
234 | if (sitewide) sitewide.style.display=visibleStyle;
|
---|
235 | }
|
---|
236 | }
|
---|
237 | }
|
---|
238 | </script>
|
---|
239 |
|
---|
240 | <?php if ($updated_link) : ?>
|
---|
241 | <div class="updated"><p>Syndicated author settings updated.</p></div>
|
---|
242 | <?php elseif (!is_null($mesg)) : ?>
|
---|
243 | <div class="updated"><p><?php print wp_specialchars($mesg, 1); ?></p></div>
|
---|
244 | <?php endif; ?>
|
---|
245 |
|
---|
246 | <div class="wrap">
|
---|
247 | <form style="position: relative" action="admin.php?page=<?php print $GLOBALS['fwp_path'] ?>/<?php echo basename(__FILE__); ?>" method="post">
|
---|
248 | <div><?php
|
---|
249 | FeedWordPressCompatibility::stamp_nonce('feedwordpress_author_settings');
|
---|
250 |
|
---|
251 | if (is_numeric($link_id) and $link_id) :
|
---|
252 | ?>
|
---|
253 | <input type="hidden" name="save_link_id" value="<?php echo $link_id; ?>" />
|
---|
254 | <?php
|
---|
255 | else :
|
---|
256 | ?>
|
---|
257 | <input type="hidden" name="save_link_id" value="*" />
|
---|
258 | <?php
|
---|
259 | endif;
|
---|
260 | ?>
|
---|
261 | </div>
|
---|
262 |
|
---|
263 | <?php $links = FeedWordPress::syndicated_links(); ?>
|
---|
264 | <?php if (fwp_test_wp_version(FWP_SCHEMA_27)) : ?>
|
---|
265 | <div class="icon32"><img src="<?php print htmlspecialchars(WP_PLUGIN_URL.'/'.$GLOBALS['fwp_path'].'/feedwordpress.png'); ?>" alt="" /></div>
|
---|
266 | <?php endif; ?>
|
---|
267 | <h2>Syndicated Author Settings<?php if (!is_null($link) and $link->found()) : ?>: <?php echo wp_specialchars($link->link->link_name, 1); ?><?php endif; ?></h2>
|
---|
268 | <?php if (fwp_test_wp_version(FWP_SCHEMA_27)) : ?>
|
---|
269 | <style type="text/css">
|
---|
270 | #post-search {
|
---|
271 | float: right;
|
---|
272 | margin:11px 12px 0;
|
---|
273 | min-width: 130px;
|
---|
274 | position:relative;
|
---|
275 | }
|
---|
276 | .fwpfs {
|
---|
277 | color: #dddddd;
|
---|
278 | background:#797979 url(<?php bloginfo('home') ?>/wp-admin/images/fav.png) repeat-x scroll left center;
|
---|
279 | border-color:#777777 #777777 #666666 !important; -moz-border-radius-bottomleft:12px;
|
---|
280 | -moz-border-radius-bottomright:12px;
|
---|
281 | -moz-border-radius-topleft:12px;
|
---|
282 | -moz-border-radius-topright:12px;
|
---|
283 | border-style:solid;
|
---|
284 | border-width:1px;
|
---|
285 | line-height:15px;
|
---|
286 | padding:3px 30px 4px 12px;
|
---|
287 | }
|
---|
288 | .fwpfs.slide-down {
|
---|
289 | border-bottom-color: #626262;
|
---|
290 | -moz-border-radius-bottomleft:0;
|
---|
291 | -moz-border-radius-bottomright:0;
|
---|
292 | -moz-border-radius-topleft:12px;
|
---|
293 | -moz-border-radius-topright:12px;
|
---|
294 | background-image:url(<?php bloginfo('home') ?>/wp-admin/images/fav-top.png);
|
---|
295 | background-position:0 top;
|
---|
296 | background-repeat:repeat-x;
|
---|
297 | border-bottom-style:solid;
|
---|
298 | border-bottom-width:1px;
|
---|
299 | }
|
---|
300 | </style>
|
---|
301 |
|
---|
302 | <script type="text/javascript">
|
---|
303 | jQuery(document).ready(function($){
|
---|
304 | $('.fwpfs').toggle(
|
---|
305 | function(){$('.fwpfs').removeClass('slideUp').addClass('slideDown'); setTimeout(function(){if ( $('.fwpfs').hasClass('slideDown') ) { $('.fwpfs').addClass('slide-down'); }}, 10) },
|
---|
306 | function(){$('.fwpfs').removeClass('slideDown').addClass('slideUp'); setTimeout(function(){if ( $('.fwpfs').hasClass('slideUp') ) { $('.fwpfs').removeClass('slide-down'); }}, 10) }
|
---|
307 | );
|
---|
308 | $('.fwpfs').bind(
|
---|
309 | 'change',
|
---|
310 | function () { this.form.submit(); }
|
---|
311 | );
|
---|
312 | $('#post-search .button').css( 'display', 'none' );
|
---|
313 | });
|
---|
314 | </script>
|
---|
315 | <?php endif; /* else : */?>
|
---|
316 | <p id="post-search">
|
---|
317 | <select name="link_id" class="fwpfs" style="max-width: 20.0em;">
|
---|
318 | <option value="*"<?php if (is_null($link) or !$link->found()) : ?> selected="selected"<?php endif; ?>>- defaults for all feeds -</option>
|
---|
319 | <?php if ($links) : foreach ($links as $ddlink) : ?>
|
---|
320 | <option value="<?php print (int) $ddlink->link_id; ?>"<?php if (!is_null($link) and ($link->link->link_id==$ddlink->link_id)) : ?> selected="selected"<?php endif; ?>><?php print wp_specialchars($ddlink->link_name, 1); ?></option>
|
---|
321 | <?php endforeach; endif; ?>
|
---|
322 | </select>
|
---|
323 | <input class="button" type="submit" name="go" value="<?php _e('Go') ?> »" />
|
---|
324 | </p>
|
---|
325 | <?php /* endif; */ ?>
|
---|
326 |
|
---|
327 | <?php if (!is_null($link) and $link->found()) : ?>
|
---|
328 | <p>These settings only affect posts syndicated from
|
---|
329 | <strong><?php echo wp_specialchars($link->link->link_name, 1); ?></strong>.</p>
|
---|
330 | <?php else : ?>
|
---|
331 | <p>These settings affect posts syndicated from any feed unless they are overridden
|
---|
332 | by settings for that specific feed.</p>
|
---|
333 | <?php endif; ?>
|
---|
334 |
|
---|
335 | <?php
|
---|
336 | $authorlist = fwp_author_list();
|
---|
337 | ?>
|
---|
338 | <table class="form-table">
|
---|
339 | <tbody>
|
---|
340 | <tr>
|
---|
341 | <th>New authors</th>
|
---|
342 | <td><span>Authors who haven't been syndicated before</span>
|
---|
343 | <select style="max-width: 27.0em" id="unfamiliar-author" name="unfamiliar_author" onchange="contextual_appearance('unfamiliar-author', 'unfamiliar-author-newuser', 'unfamiliar-author-default', 'newuser', 'inline');">
|
---|
344 | <?php if (is_object($link) and $link->found()) : ?>
|
---|
345 | <option value="site-default"<?php print $unfamiliar['site-default']; ?>>are handled according to the default for all feeds</option>
|
---|
346 | <?php endif; ?>
|
---|
347 | <option value="create"<?php $unfamiliar['create']; ?>>will have a new author account created for them</option>
|
---|
348 | <?php foreach ($authorlist as $author_id => $author_name) : ?>
|
---|
349 | <option value="<?php echo $author_id; ?>"<?php print $unfamiliar[$author_id]; ?>>will have their posts attributed to <?php echo $author_name; ?></option>
|
---|
350 | <?php endforeach; ?>
|
---|
351 | <option value="newuser">will have their posts attributed to a new user...</option>
|
---|
352 | <option value="filter"<?php print $unfamiliar['filter'] ?>>get filtered out</option>
|
---|
353 | </select>
|
---|
354 |
|
---|
355 | <span id="unfamiliar-author-newuser">named <input type="text" name="unfamiliar_author_newuser" value="" /></span></p>
|
---|
356 | </td>
|
---|
357 | </tr>
|
---|
358 |
|
---|
359 | <?php
|
---|
360 | if (is_object($link) and $link->found()) :
|
---|
361 | ?>
|
---|
362 | <tr><th>Syndicated authors</th>
|
---|
363 | <td>For attributing posts by specific authors. Blank out a name to delete the rule. Fill in a new name at the bottom to create a new rule.</p>
|
---|
364 | <table style="width: 100%">
|
---|
365 | <?php
|
---|
366 | if (isset($link->settings['map authors'])) :
|
---|
367 | ?>
|
---|
368 | <?php
|
---|
369 | $i=0;
|
---|
370 | foreach ($link->settings['map authors'] as $author_rules) :
|
---|
371 | foreach ($author_rules as $author_name => $author_action) :
|
---|
372 | $i++;
|
---|
373 | ?>
|
---|
374 | <tr>
|
---|
375 | <th style="text-align: left; width: 15.0em">Posts by <input type="text" name="author_rules_name[]" value="<?php echo htmlspecialchars($author_name); ?>" size="11" /></th>
|
---|
376 | <td>
|
---|
377 | <select id="author-rules-<?php echo $i; ?>" name="author_rules_action[]" onchange="contextual_appearance('author-rules-<?php echo $i; ?>', 'author-rules-<?php echo $i; ?>-newuser', 'author-rules-<?php echo $i; ?>-default', 'newuser', 'inline');">
|
---|
378 | <?php foreach ($authorlist as $local_author_id => $local_author_name) : ?>
|
---|
379 | <option value="<?php echo $local_author_id; ?>"<?php if ($local_author_id==$author_action) : echo ' selected="selected"'; endif; ?>>are assigned to <?php echo $local_author_name; ?></option>
|
---|
380 | <?php endforeach; ?>
|
---|
381 | <option value="newuser">will be assigned to a new user...</option>
|
---|
382 | <option value="filter"<?php if ('filter'==$author_action) : echo ' selected="selected"'; endif; ?>>get filtered out</option>
|
---|
383 | </select>
|
---|
384 |
|
---|
385 | <span id="author-rules-<?php echo $i; ?>-newuser">named <input type="text" name="author_rules_newuser[]" value="" /></span>
|
---|
386 | </td>
|
---|
387 | </tr>
|
---|
388 | <?php endforeach;
|
---|
389 | endforeach;
|
---|
390 | endif;
|
---|
391 | ?>
|
---|
392 |
|
---|
393 | <tr>
|
---|
394 | <th style="text-align: left; width: 15.0em">Posts by <input type="text" name="add_author_rule_name" size="11" /></th>
|
---|
395 | <td>
|
---|
396 | <select id="add-author-rule" name="add_author_rule_action" onchange="contextual_appearance('add-author-rule', 'add-author-rule-newuser', 'add-author-rule-default', 'newuser', 'inline');">
|
---|
397 | <?php foreach ($authorlist as $author_id => $author_name) : ?>
|
---|
398 | <option value="<?php echo $author_id; ?>">are assigned to <?php echo $author_name; ?></option>
|
---|
399 | <?php endforeach; ?>
|
---|
400 | <option value="newuser">will be assigned to a new user...</option>
|
---|
401 | <option value="filter">get filtered out</option>
|
---|
402 | </select>
|
---|
403 |
|
---|
404 | <span id="add-author-rule-newuser">named <input type="text" name="add_author_rule_newuser" value="" /></span>
|
---|
405 | </td>
|
---|
406 | </tr>
|
---|
407 | </table>
|
---|
408 | </td>
|
---|
409 | </tr>
|
---|
410 | <?php endif; ?>
|
---|
411 |
|
---|
412 | <?php if (!(is_object($link) and $link->found())) : ?>
|
---|
413 | <tr>
|
---|
414 | <th scope="row">Matching Authors</th>
|
---|
415 | <td><ul style="list-style: none; margin: 0; padding: 0;">
|
---|
416 | <li><div><label><input id="match-author-by-email" type="checkbox" name="match_author_by_email" value="yes" <?php if ($match_author_by_email) : ?>checked="checked" <?php endif; ?>onchange="contextual_appearance('match-author-by-email', 'unless-null-email', null, 'yes', 'block', /*checkbox=*/ true);" /> Treat syndicated authors with the same e-mail address as the same author.</label></div>
|
---|
417 | <div id="unless-null-email">
|
---|
418 | <p>Unless the e-mail address is one of the following anonymous e-mail addresses:</p>
|
---|
419 | <textarea name="null_emails" rows="3" style="width: 100%">
|
---|
420 | <?php print implode("\n", $null_emails); ?>
|
---|
421 | </textarea>
|
---|
422 | </div></li>
|
---|
423 | </ul></td>
|
---|
424 | </tr>
|
---|
425 | <?php else : ?>
|
---|
426 | <th scope="row">Fixing mis-matched authors:</th>
|
---|
427 | <td><p style="margin: 0.5em 0px">Take all the posts from this feed attributed to
|
---|
428 | <select name="fix_mismatch_from">
|
---|
429 | <?php foreach ($authorlist as $author_id => $author_name) : ?>
|
---|
430 | <option value="<?php echo $author_id; ?>"><?php echo $author_name; ?></option>
|
---|
431 | <?php endforeach; ?>
|
---|
432 | </select>
|
---|
433 | and instead
|
---|
434 | <select id="fix-mismatch-to" name="fix_mismatch_to" onchange="contextual_appearance('fix-mismatch-to', 'fix-mismatch-to-newuser', null, 'newuser', 'inline');">
|
---|
435 | <?php foreach ($authorlist as $author_id => $author_name) : ?>
|
---|
436 | <option value="<?php echo $author_id; ?>">re-assign them to <?php echo $author_name; ?></option>
|
---|
437 | <?php endforeach; ?>
|
---|
438 | <option value="newuser">re-assign them to a new user...</option>
|
---|
439 | <option value="filter">delete them</option>
|
---|
440 | </select>
|
---|
441 |
|
---|
442 | <span id="fix-mismatch-to-newuser">named <input type="text" name="fix_mismatch_to_newuser" value="" /></span>
|
---|
443 | <input type="submit" class="button" name="fix_mismatch" value="Fix it!" />
|
---|
444 | </td>
|
---|
445 | </td>
|
---|
446 | <?php endif; ?>
|
---|
447 | </tbody>
|
---|
448 | </table>
|
---|
449 |
|
---|
450 | <p class="submit">
|
---|
451 | <input class="button-primary" type="submit" name="save" value="Save Changes" />
|
---|
452 | </p>
|
---|
453 |
|
---|
454 | <script type="text/javascript">
|
---|
455 | contextual_appearance('unfamiliar-author', 'unfamiliar-author-newuser', 'unfamiliar-author-default', 'newuser', 'inline');
|
---|
456 | <?php if (is_object($link) and $link->found()) : ?>
|
---|
457 | <?php for ($j=1; $j<=$i; $j++) : ?>
|
---|
458 | contextual_appearance('author-rules-<?php echo $j; ?>', 'author-rules-<?php echo $j; ?>-newuser', 'author-rules-<?php echo $j; ?>-default', 'newuser', 'inline');
|
---|
459 | <?php endfor; ?>
|
---|
460 | contextual_appearance('add-author-rule', 'add-author-rule-newuser', 'add-author-rule-default', 'newuser', 'inline');
|
---|
461 | contextual_appearance('fix-mismatch-to', 'fix-mismatch-to-newuser', null, 'newuser', 'inline');
|
---|
462 | <?php else : ?>
|
---|
463 | contextual_appearance('match-author-by-email', 'unless-null-email', null, 'yes', 'block', /*checkbox=*/ true);
|
---|
464 | <?php endif; ?>
|
---|
465 | </script>
|
---|
466 | </form>
|
---|
467 | </div> <!-- class="wrap" -->
|
---|
468 | <?php
|
---|
469 | } /* function fwp_authors_page () */
|
---|
470 |
|
---|
471 | fwp_authors_page();
|
---|
472 |
|
---|