function _pp_file_filtering_promo()
{
    if (0 === validate_plugin("pp-file-url-filter/pp-file-url-filter.php")) {
        $msg = __('To block direct URL access to attachments of unreadable posts, activate the PP File URL Filter plugin.', 'pp');
    } elseif (true == pp_key_status()) {
        $msg = sprintf(__('To block direct URL access to attachments of unreadable posts, %1$sinstall%2$s the PP File URL Filter plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
    } else {
        $msg = sprintf(__('To block direct URL access to attachments of unreadable posts, %1$senter%2$s or %3$spurchase%4$s a support key and install the PP File URL Filter plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>');
    }
    ?>
	<script type="text/javascript">
	/* <![CDATA[ */
	jQuery(document).ready( function($) {
	$('#posts-filter').after('<a href="#" class="pp-file-filtering-promo" style="margin-left:5px"><?php 
    _e('Block URL access', 'pp');
    ?>
</a><span class="pp-ext-promo" style="display:none;"><?php 
    echo $msg;
    ?>
</span>');
	
	$('a.pp-file-filtering-promo').click(function() {
		$(this).hide().next('span').show();
		return false;
	});
	
	});
	/* ]]> */
	</script>
	<?php 
}
function _ppc_item_ui_hints($for_item_type)
{
    if ('attachment' == $for_item_type && !defined('PPFF_VERSION')) {
        if (0 === validate_plugin("pp-file-url-filter/pp-file-url-filter.php")) {
            $msg = __('To block direct access to unreadable files, activate the PP File URL Filter plugin.', 'pp');
        } elseif (true == pp_key_status()) {
            $msg = sprintf(__('To block direct access to unreadable files, %1$sinstall%2$s the PP File URL Filter plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
        } else {
            $msg = sprintf(__('To block direct access to unreadable files, %1$spurchase a support key%2$s and install the PP File URL Filter plugin.', 'pp'), '<a href="http://presspermit.com/purchase">', '</a>');
        }
        echo "<div class='pp-ext-promo' style='padding:0.5em'>{$msg}</div>";
    }
    if (!defined('PPCE_VERSION')) {
        if (0 === validate_plugin("pp-collaborative-editing/pp-collaborative-editing.php")) {
            $msg = __('To customize editing permissions, activate the PP Collaborative Editing plugin.', 'pp');
        } elseif (true == pp_key_status()) {
            $msg = sprintf(__('To customize editing permissions, %1$sinstall%2$s the PP Collaborative Editing plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
        } else {
            $msg = sprintf(__('To customize editing permissions, %1$spurchase a support key%2$s and install the PP Collaborative Editing plugin.', 'pp'), '<a href="http://presspermit.com/purchase">', '</a>');
        }
        echo "<div class='pp-ext-promo' style='padding:0.5em;margin-top:0'>{$msg}</div>";
    }
}
Exemple #3
0
<?php 
        //echo esc_html( __( 'Posts with a custom Visibility or Editability require a corresponding Permission Group role assignment.', 'pp' ) );
        $pp_groups_list_table->search_box(__('Search Groups', 'pp'), 'group');
        ?>

<?php 
        $pp_groups_list_table->display();
        ?>

</form>

<br class="clear" />

<?php 
        if (defined('BP_VERSION') && !defined('PPCE_VERSION') && pp_get_option('display_extension_hints')) {
            if (0 === validate_plugin("pp-buddypress-role-groups/pp-buddypress-role-groups.php")) {
                $msg = __('To assign roles or exceptions to BuddyPress groups, activate the PP BuddyPress Role Groups', 'pp');
            } elseif (true == pp_key_status()) {
                $msg = sprintf(__('To assign roles or exceptions to BuddyPress groups, %1$sinstall%2$s the PP BuddyPress Role Groups plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
            } else {
                $msg = sprintf(__('To assign roles or exceptions to BuddyPress groups, %1$senter%2$s or %3$spurchase%4$s a support key and install the PP BuddyPress Role Groups plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>');
            }
            echo "<div class='pp-ext-promo'>{$msg}</div>";
        }
        ?>

</div>
<?php 
        break;
}
// end of the $doaction switch
function _pp_post_status_promo()
{
    if (!defined('PPS_VERSION')) {
        if (0 === validate_plugin("pp-custom-post-statuses/pp-custom-post-statuses.php")) {
            $msg = __('To define custom privacy statuses, activate the PP Custom Post Statuses plugin.', 'pp');
        } elseif (true == pp_key_status()) {
            $msg = sprintf(__('To define custom privacy statuses, %1$sinstall%2$s the PP Custom Post Statuses plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
        } else {
            $msg = sprintf(__('To define custom privacy statuses, %1$senter%2$s or %3$spurchase%4$s a support key and install the PP Custom Post Statuses plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>');
        }
        ?>
		<script type="text/javascript">
		/* <![CDATA[ */
		jQuery(document).ready( function($) {
		$('#visibility-radio-private').next('label').after('<a href="#" class="pp-custom-privacy-promo" style="margin-left:5px"><?php 
        _e('define custom privacy', 'pp');
        ?>
</a><span class="pp-ext-promo" style="display:none;"><br /><?php 
        echo $msg;
        ?>
</span>');
		
		$('a.pp-custom-privacy-promo').click(function() {
			$(this).hide().next('span').show();
			return false;
		});
		
		});
		/* ]]> */
		</script>
		<?php 
    }
    if (!defined('PPS_VERSION') || !defined('PPCE_VERSION')) {
        $need_exts = array();
        if (!defined('PPCE_VERSION')) {
            $need_exts[] = 'PP Collaborative Editing Pack';
        }
        if (!defined('PPS_VERSION')) {
            $need_exts[] = 'PP Custom Post Statuses';
        }
        $need_exts = implode(' and ', $need_exts);
        if (true == pp_key_status()) {
            $msg = sprintf(__('To define custom moderation statuses, %1$sactivate%2$s %3$s.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', $need_exts);
        } else {
            $msg = sprintf(__('To define custom moderation statuses, %1$senter%2$s or %3$spurchase%4$s a Press Permit support key. Then install %5$s.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>', $need_exts);
        }
        ?>
		<script type="text/javascript">
		/* <![CDATA[ */
		jQuery(document).ready( function($) {
		$('a.edit-post-status').after('<a href="#" class="pp-custom-moderation-promo" style="margin-left:5px"><?php 
        _e('Customize', 'pp');
        ?>
</a><span class="pp-ext-promo" style="display:none;"><br /><?php 
        echo $msg;
        ?>
</span>');
		
		$('a.pp-custom-moderation-promo').click(function() {
			$(this).hide().next('span').show();
			return false;
		});
		
		});
		/* ]]> */
		</script>
		<?php 
    }
}
    function display($agent_type, $id_suffix, $current_selections = array(), $args = array())
    {
        $defaults = array('agent_id' => 0, 'context' => '', 'label_select' => _x('Select &gt;', 'user', 'pp'), 'label_unselect' => _x('&lt; Unselect', 'user', 'pp'), 'label_selections' => __('Current Selections:', 'pp'), 'display_stored_selections' => true, 'create_dropdowns' => false, 'width' => '', 'width_current' => '', 'label_headline' => true, 'multi_select' => true, 'use_selection_js' => true);
        $args = apply_filters('pp_agents_selection_ui_args', array_merge($defaults, $args), $agent_type, $id_suffix);
        extract($args, EXTR_SKIP);
        $width = $width ? "width:{$width}px;" : '';
        $this->register_ajax_js($agent_type, $id_suffix, $context, $agent_id, $args);
        if (true === $label_headline) {
            $label_headline = 'user' == $agent_type ? __('Select Users', 'pp') : __('Select Groups', 'pp');
        }
        ?>
		<table id="pp-agent-selection_<?php 
        echo $id_suffix;
        ?>
-wrapper" class="pp-agents-selection">
		<tr><td id="pp-agent-selection_<?php 
        echo $id_suffix;
        ?>
">
		<h4><?php 
        echo $label_headline;
        ?>
</h4>
		<input id="agent_search_text_<?php 
        echo $id_suffix;
        ?>
" type="text" size="8" />
		<button type="button" class="pp-agent-search-submit" id="agent_submit_<?php 
        echo $id_suffix;
        ?>
"><?php 
        echo __ppw("Search");
        ?>
</button>
		<img class="waiting" style="display:none;" src="<?php 
        echo esc_url(admin_url('images/wpspin_light.gif'));
        ?>
" alt="" />
		
		<?php 
        if ('user' == $agent_type && pp_get_option('user_search_by_role')) {
            ?>
			<br /><select id="pp_search_role_<?php 
            echo $id_suffix;
            ?>
">
			<option value=""><?php 
            _e('(any WP role)', 'pp');
            ?>
</option>
			<?php 
            wp_dropdown_roles();
            ?>
			</select>
		<?php 
        }
        ?>
		
		</td>
		
		<?php 
        if ($display_stored_selections) {
            ?>
		<td style="vertical-align:bottom" class="pp-members-current"><h4><?php 
            echo $label_selections;
            ?>
</h4></td>
		<?php 
        }
        ?>
		
		</tr>
		
		<tr><td>
		<select id="agent_results_<?php 
        echo $id_suffix;
        ?>
" class="pp_agent_results" <?php 
        if ($multi_select) {
            ?>
multiple="multiple" style="height:160px;<?php 
        } else {
            ?>
style="display:none;<?php 
        }
        echo $width;
        ?>
"></select>
		<span id="agent_msg_<?php 
        echo $id_suffix;
        ?>
"></span>
		</td>

		<?php 
        if ($display_stored_selections) {
            if ($width_current) {
                $width = "width:{$width_current}px;";
            }
            ?>
		<td class="pp-members-current">
		<select id='<?php 
            echo $id_suffix;
            ?>
' name='<?php 
            echo $id_suffix;
            ?>
[]' multiple='multiple' style='height:160px;<?php 
            echo $width;
            ?>
float:right'>
		
<?php 
            $display_property = 'user' == $agent_type ? 'user_login' : 'display_name';
            foreach ($current_selections as $agent) {
                $attribs = isset($agent->display_name) && $agent->user_login != $agent->display_name ? 'title="' . esc_attr($agent->display_name) . '"' : '';
                ?>
		<?php 
                $data = apply_filters('pp_agents_selection_ui_attribs', array('attribs' => $attribs, 'user_caption' => $agent->{$display_property}), $agent_type, $id_suffix, $agent);
                ?>
		<option value="<?php 
                echo $agent->ID;
                ?>
" <?php 
                echo $data['attribs'];
                ?>
><?php 
                echo $data['user_caption'];
                ?>
</option>
<?php 
            }
            ?>

		</select><br />
		</td>
		<?php 
        }
        ?>
		
		</tr>
		
		<?php 
        do_action('_pp_agents_selection_ui_select_pre', $id_suffix);
        ?>
		<tr>
		<?php 
        do_action('pp_agents_selection_ui_select_pre', $id_suffix);
        ?>
		

		<td><button type="button" id="select_agents_<?php 
        echo $id_suffix;
        ?>
" class="pp_add" style="float:right<?php 
        if (!$multi_select) {
            ?>
;display:none;<?php 
        }
        ?>
"><?php 
        echo $label_select;
        ?>
</button></td>
		
		<?php 
        if ($display_stored_selections) {
            ?>
		<td class="pp-members-current"><button type="button" id="unselect_agents_<?php 
            echo $id_suffix;
            ?>
" class="pp_remove"><?php 
            echo $label_unselect;
            ?>
</button></td>
		<?php 
        }
        ?>
		
		</tr>
		</table>	
<?php 
        if (!defined('PPM_VERSION') && pp_get_option('display_extension_hints')) {
            if (0 === validate_plugin("pp-membership/pp-membership.php")) {
                $msg = __('To set date limits on group membership, activate the PP Membership plugin.', 'pp');
            } elseif (true == pp_key_status()) {
                $msg = sprintf(__('To set date limits on group membership, %1$sinstall%2$s the PP Membership plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
            } else {
                $msg = sprintf(__('To set date limits on group membership, %1$senter%2$s or %3$spurchase%4$s a support key and install the PP Membership plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>');
            }
            echo "<div class='pp-ext-promo'>{$msg}</div>";
        }
        $csv = $current_selections ? implode(',', array_keys($current_selections)) : '';
        $csv = apply_filters('pp_agents_selection_ui_csv', $csv, $id_suffix, $current_selections);
        ?>
		<input type="hidden" id="<?php 
        echo $id_suffix;
        ?>
_csv" name="<?php 
        echo $id_suffix;
        ?>
_csv" value="<?php 
        echo $csv;
        ?>
" />
		<?php 
    }
Exemple #6
0
    function display($agent_type, $id_suffix, $current_selections = array(), $args = array())
    {
        $defaults = array('agent_id' => 0, 'context' => '', 'label_select' => _x('Select &gt;', 'user', 'pp'), 'label_unselect' => _x('&lt; Unselect', 'user', 'pp'), 'label_selections' => __('Current Selections:', 'pp'), 'display_stored_selections' => true, 'create_dropdowns' => false, 'width' => '', 'width_current' => '', 'label_headline' => true, 'multi_select' => true, 'use_selection_js' => true);
        $args = apply_filters('pp_agents_selection_ui_args', array_merge($defaults, $args), $agent_type, $id_suffix);
        extract($args, EXTR_SKIP);
        $width = $width ? "width:{$width}px;" : '';
        $this->register_ajax_js($agent_type, $id_suffix, $context, $agent_id, $args);
        if ('user' == $agent_type) {
            if (defined('PP_USER_LASTNAME_SEARCH') && !defined('PP_USER_SEARCH_FIELD')) {
                $default_search_field = 'last_name';
            } elseif (defined('PP_USER_SEARCH_FIELD')) {
                $default_search_field = PP_USER_SEARCH_FIELD;
            } else {
                $default_search_field = '';
            }
        }
        if (true === $label_headline) {
            if ('user' == $agent_type) {
                if ($default_search_field) {
                    $search_caption = __(ucwords(str_replace('_', ' ', $default_search_field)), 'pp');
                    $label_headline = sprintf(__('Find Users by %s', 'pp'), $search_caption);
                } else {
                    $label_headline = __('Find Users', 'pp');
                }
            } else {
                $label_headline = __('Select Groups', 'pp');
            }
        }
        ?>
		<table id="pp-agent-selection_<?php 
        echo $id_suffix;
        ?>
-wrapper" class="pp-agents-selection">
		<tr><td id="pp-agent-selection_<?php 
        echo $id_suffix;
        ?>
 " style="vertical-align:top">
		<h4><?php 
        echo $label_headline;
        ?>
</h4>
		<input id="agent_search_text_<?php 
        echo $id_suffix;
        ?>
" type="text" size="8" />
		<button type="button" class="pp-agent-search-submit" id="agent_submit_<?php 
        echo $id_suffix;
        ?>
"><?php 
        echo __ppw("Search");
        ?>
</button>
		
		<?php 
        if ('user' == $agent_type) {
            ?>
			<br />
			<?php 
            $title = !defined('PP_USER_SEARCH_META_FIELDS') && pp_is_user_administrator() && pp_get_option('advanced_options') && pp_get_option('display_hints') ? __('For additional fields, define constant PP_USER_SEARCH_META_FIELDS', 'pp') : '';
            $fields = array('first_name' => __('First Name', 'pp'), 'last_name' => __('Last Name', 'pp'), 'nickname' => __('Nickname', 'pp'));
            if (defined('PP_USER_SEARCH_META_FIELDS')) {
                $custom_fields = str_replace(' ', '', PP_USER_SEARCH_META_FIELDS);
                $custom_fields = explode(',', $custom_fields);
                foreach ($custom_fields as $cfield) {
                    $fields[$cfield] = __(ucwords(str_replace('_', ' ', $cfield)), 'pp');
                }
            }
            if (isset($fields[$default_search_field])) {
                unset($fields[$default_search_field]);
            }
            $ilim = defined('PP_USER_SEARCH_META_FIELDS') ? 6 : 3;
            for ($i = 0; $i < $ilim; $i++) {
                ?>
				<div class="pp-user-meta-search" <?php 
                if ($i > 0 && empty($_GET["pp_search_user_meta_key_{$i}_{$id_suffix}"])) {
                    echo ' style="display:none;"';
                }
                ?>
>
				<select id="pp_search_user_meta_key_<?php 
                echo $i;
                ?>
_<?php 
                echo $id_suffix;
                ?>
">
				<option value=""><?php 
                _e('(user field)', 'pp');
                ?>
</option>
				<?php 
                foreach ($fields as $field => $lbl) {
                    ?>
					<option value="<?php 
                    echo $field;
                    ?>
"><?php 
                    echo $lbl;
                    ?>
</option>
				<?php 
                }
                ?>
				</select>
				&nbsp;
				<input id="pp_search_user_meta_val_<?php 
                echo $i;
                ?>
_<?php 
                echo $id_suffix;
                ?>
" type="text" <?php 
                if (empty($_GET["pp_search_user_meta_key_{$i}_{$id_suffix}"])) {
                    echo 'style="display:none"';
                }
                ?>
 title="<?php 
                echo $title;
                ?>
" size="8" />
				<?php 
                if ($i < $ilim - 1) {
                    ?>
				&nbsp;<span class="pp-usermeta-field-more" <?php 
                    if (empty($_GET["pp_search_user_meta_key_{$i}_{$id_suffix}"])) {
                        echo 'style="display:none"';
                    }
                    ?>
>+</span>
				<?php 
                }
                ?>
				</div>
			<?php 
            }
            ?>
		<?php 
        }
        ?>
		
		<?php 
        if ('user' == $agent_type && pp_get_option('user_search_by_role')) {
            ?>
			<select id="pp_search_role_<?php 
            echo $id_suffix;
            ?>
" class="pp-search-role">
			<option value=""><?php 
            _e('(any WP role)', 'pp');
            ?>
</option>
			<?php 
            wp_dropdown_roles();
            ?>
			</select>
		<?php 
        }
        ?>
		</td>
		
		<?php 
        if ($display_stored_selections) {
            ?>
			<td style="vertical-align:top" class="pp-members-current">
			</td>
		<?php 
        }
        ?>
		
		</tr>
		
		<tr><td>
		<h4><?php 
        _e('Search Results:', 'pp');
        ?>
<img class="waiting" style="display:none;float:right" src="<?php 
        echo esc_url(admin_url('images/wpspin_light.gif'));
        ?>
" alt="" /></h4>
		
		<select id="agent_results_<?php 
        echo $id_suffix;
        ?>
" class="pp_agent_results" <?php 
        if ($multi_select) {
            ?>
multiple="multiple" style="height:160px;<?php 
        } else {
            ?>
style="display:none;<?php 
        }
        echo $width;
        ?>
"></select>
		<span id="agent_msg_<?php 
        echo $id_suffix;
        ?>
"></span>
		</td>

		<?php 
        if ($display_stored_selections) {
            if ($width_current) {
                $width = "width:{$width_current}px;";
            }
            ?>
		<td class="pp-members-current">
		<h4><?php 
            echo $label_selections;
            ?>
</h4>
		
		<select id='<?php 
            echo $id_suffix;
            ?>
' name='<?php 
            echo $id_suffix;
            ?>
[]' multiple='multiple' style='height:160px;<?php 
            echo $width;
            ?>
'>
		
<?php 
            if ('user' == $agent_type) {
                $display_property = defined('PP_USER_RESULTS_DISPLAY_NAME') ? 'display_name' : 'user_login';
            } else {
                $display_property = 'display_name';
            }
            foreach ($current_selections as $agent) {
                $attribs = isset($agent->display_name) && $agent->user_login != $agent->display_name ? 'title="' . esc_attr($agent->display_name) . '"' : '';
                ?>
		<?php 
                $data = apply_filters('pp_agents_selection_ui_attribs', array('attribs' => $attribs, 'user_caption' => $agent->{$display_property}), $agent_type, $id_suffix, $agent);
                ?>
		<option value="<?php 
                echo $agent->ID;
                ?>
" <?php 
                echo $data['attribs'];
                ?>
><?php 
                echo $data['user_caption'];
                ?>
</option>
<?php 
            }
            ?>

		</select><br />
		</td>
		<?php 
        }
        ?>
		
		</tr>
		
		<?php 
        do_action('_pp_agents_selection_ui_select_pre', $id_suffix);
        ?>
		<tr>
		<?php 
        do_action('pp_agents_selection_ui_select_pre', $id_suffix);
        ?>
		

		<td><button type="button" id="select_agents_<?php 
        echo $id_suffix;
        ?>
" class="pp_add" style="float:right<?php 
        if (!$multi_select) {
            ?>
;display:none;<?php 
        }
        ?>
"><?php 
        echo $label_select;
        ?>
</button></td>
		
		<?php 
        if ($display_stored_selections) {
            ?>
		<td class="pp-members-current"><button type="button" id="unselect_agents_<?php 
            echo $id_suffix;
            ?>
" class="pp_remove"><?php 
            echo $label_unselect;
            ?>
</button></td>
		<?php 
        }
        ?>
		
		</tr>
		</table>	
<?php 
        if (!defined('PPM_VERSION') && pp_get_option('display_extension_hints')) {
            if (0 === validate_plugin("pp-membership/pp-membership.php")) {
                $msg = __('To set date limits on group membership, activate the PP Membership plugin.', 'pp');
            } elseif (true == pp_key_status()) {
                $msg = sprintf(__('To set date limits on group membership, %1$sinstall%2$s the PP Membership plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
            } else {
                $msg = sprintf(__('To set date limits on group membership, %1$senter%2$s or %3$spurchase%4$s a support key and install the PP Membership plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>');
            }
            echo "<div class='pp-ext-promo'>{$msg}</div>";
        }
        $csv = $current_selections ? implode(',', array_keys($current_selections)) : '';
        $csv = apply_filters('pp_agents_selection_ui_csv', $csv, $id_suffix, $current_selections);
        ?>
		<input type="hidden" id="<?php 
        echo $id_suffix;
        ?>
_csv" name="<?php 
        echo $id_suffix;
        ?>
_csv" value="<?php 
        echo $csv;
        ?>
" />
		<?php 
    }
    public static function _select_exceptions_ui($type_objects, $taxonomy_objects, $args = array())
    {
        // Discourage anon/all metagroups having read exceptions for specific posts. Normally, that's what post visibility is for.
        $is_all_anon = isset($args['agent']) && !empty($args['agent']->metagroup_id) && in_array($args['agent']->metagroup_id, array('wp_anon', 'wp_all'));
        ?>
		<img id="pp_add_exception_waiting" class="waiting" style="display:none;position:absolute" src="<?php 
        echo esc_url(admin_url('images/wpspin_light.gif'));
        ?>
" alt="" />
		<table id="pp_add_exception">
		<thead>
		<tr>
		<th><?php 
        _e('Post Type', 'pp');
        ?>
</th>
		<th class="pp-select-x-operation" style="display:none"><?php 
        _e('Post Operation', 'pp');
        ?>
</th>
		<th class="pp-select-x-mod-type" style="display:none"><?php 
        _e('Adjustment', 'pp');
        ?>
</th>
		<th class="pp-select-x-via-type" style="display:none"><?php 
        _e('Qualification', 'pp');
        ?>
</th>
		<th class="pp-select-x-status" style="display:none"><?php 
        _e('Statuses', 'pp');
        ?>
</th>
		<th class="pp-add-exception" style="display:none"></th>
		</tr>
		</thead>
		<tbody>
		<tr>
		<td>

		<select name="pp_select_x_for_type">
		<?php 
        unset($type_objects['attachment']);
        // may be re-added by extension
        $type_objects = apply_filters('pp_append_exception_types', _pp_order_types(apply_filters('pp_exception_types', $type_objects)));
        if (!empty($args['external'])) {
            $type_objects = array_merge($type_objects, $args['external']);
        }
        self::draw_type_options($type_objects, array('option_any' => true));
        do_action('pp_exception_types_dropdown', $args);
        ?>
</select></td>
		
		<td class="pp-select-x-operation" style="display:none"><select name="pp_select_x_operation"></select></td>
		<td class="pp-select-x-mod-type" style="display:none"><select name="pp_select_x_mod_type"></select></td>
		
		<td class="pp-select-x-via-type" style="display:none"><select name="pp_select_x_via_type"></select>
		
		<div class="pp-select-x-assign-for" id="pp_select_x_assign_for" style="display:none">
		<p class="pp-checkbox">
		<input type="checkbox" name="pp_select_x_item_assign" id="pp_select_x_item_assign" checked="checked" value="1"><label for="pp_select_x_item_assign"><?php 
        _e('for item', 'pp');
        ?>
</label>
		</p>
		<?php 
        /* </p> */
        ?>
		</div>
		
		</td>
		
		<td class="pp-select-x-status" style="display:none">
		<p class="pp-checkbox"  >
		<input type="checkbox" id="pp_select_x_cond_" name="pp_select_x_cond[]" checked="checked" value="" /><label id="lbl_pp_select_x_cond_" for="pp_select_x_cond_"> <?php 
        _e('(all)', 'pp');
        ?>
</label>
		</p>
		</td>

		<td class="pp-select-items" style="display:none;padding-right:0"><?php 
        self::_item_select_ui(array_merge($type_objects, $taxonomy_objects));
        ?>
</td>
	
		</tr>
		</tbody>
		</table>
		
		<?php 
        if ($is_all_anon) {
            ?>
		<div id="pp-all-anon-warning" class="pp-red" style="display:none;margin-top:10px;margin-bottom:10px">
		<?php 
            _e('Warning: Content hidden by exceptions will be displayed if PP is deactivated. Consider setting a private Visibility on Edit Post screen instead.', 'pp');
            ?>
		</div>

		<script type="text/javascript">
		/* <![CDATA[ */
		jQuery(document).ready( function($) {
			$(document).on('change','select[name="pp_select_x_for_type"]',function(){
				$('#pp-all-anon-warning').hide();
			});

			var handle_anon_warning = function() {
				if ( ( 'read' == $('select[name="pp_select_x_operation"]').val() ) && ( 'additional' != $('select[name="pp_select_x_mod_type"]').val() ) && ( 'pp-post-object' == $('select[name="pp_select_x_via_type"] option:selected').attr('class') ) ) {
					$('#pp-all-anon-warning').show();
				} else {
					$('#pp-all-anon-warning').hide();
				}
			}
			
			$(document).on( 'pp_exceptions_ui', handle_anon_warning );
			$(document).on('change','select[name="pp_select_x_via_type"]', handle_anon_warning );
		});
		</script>
		<?php 
        }
        ?>
		
		<div class='pp-ext-promo'>
		<?php 
        if (!defined('PPCE_VERSION') && pp_get_option('display_extension_hints')) {
            if (0 === validate_plugin("pp-collaborative-editing/pp-collaborative-editing.php")) {
                $msg = __('To assign exceptions for editing, parent selection or term assignment, activate the PP Collaborative Editing plugin.', 'pp');
            } elseif (true == pp_key_status()) {
                $msg = sprintf(__('To assign exceptions for editing, parent selection or term assignment, %1$sinstall%2$s the PP Collaborative Editing plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
            } else {
                $msg = sprintf(__('To assign exceptions for editing, parent selection or term assignment, %1$senter%2$s or %3$spurchase%4$s a support key and install the PP Collaborative Editing plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>');
            }
            echo "<div>{$msg}</div>";
        }
        ?>
		
		<?php 
        if (function_exists('bbp_get_version') && !defined('PPP_VERSION') && pp_get_option('display_extension_hints')) {
            if (0 === validate_plugin("pp-compatibility/pp-compatibility.php")) {
                $msg = __('To assign exceptions for bbPress forums, activate the PP Compatibility Pack plugin.', 'pp');
            } elseif (true == pp_key_status()) {
                $msg = sprintf(__('To assign exceptions for bbPress forums, %1$sinstall%2$s the PP Compatibility Pack plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>');
            } else {
                $msg = sprintf(__('To assign exceptions for bbPress forums, %1$senter%2$s or %3$spurchase%4$s a support key and install the PP Compatibility Pack plugin.', 'pp'), '<a href="admin.php?page=pp-settings&pp_tab=install">', '</a>', '<a href="http://presspermit.com/purchase">', '</a>');
            }
            echo "<div>{$msg}</div>";
        }
        ?>
		</div>
	<?php 
    }