[44] | 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 |
|
---|