/** * Test adding a new prefix. */ function test_prefixes_add_and_delete() { // Create a random prefix and an example namespace. $prefix = uniqid('prefix'); $namespace = 'http://example.org/ns/'; // Check that the prefix doesn't exist yet. $this->assertFalse(wl_prefixes_get($prefix)); // Add the prefix. wl_prefixes_add($prefix, $namespace); $path = uniqid('this/is/a/test/'); // Compact a URL. $url_to_compact = $namespace . $path; $url_compacted = wl_prefixes_compact($url_to_compact); $this->assertEquals($prefix . ':' . $path, $url_compacted); // Expand a URL. $url_to_expand = $url_compacted; $url_expanded = wl_prefixes_expand($url_to_expand); $this->assertEquals($namespace . $path, $url_expanded); // Check the namespace. $this->assertEquals($namespace, wl_prefixes_get($prefix)); // Now delete the prefix. wl_prefixes_delete($prefix); // Check that the prefix doesn't exist. $this->assertFalse(wl_prefixes_get($prefix)); }
/** * Displays the page content. * * @since 3.0.0 * * @param boolean $display_page_title If true, prints out the page title. */ function wl_prefixes_admin_menu_callback($display_page_title = true) { if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } $page_title = __('Prefixes', 'wordlift'); echo '<div class="wrap">'; if ($display_page_title) { echo "<h2>{$page_title}</h2>"; } echo <<<EOF <br class="clear"> <div id="col-container"> <div id="col-right"> <div class="col-wrap"> EOF; // Create the List Table. $wl_prefixes_table = new WL_Prefixes_List_Table(); // See if we have an action. switch ($wl_prefixes_table->current_action()) { // Add the prefix using the provided data. case 'add-prefix': check_admin_referer('add-prefix', '_wpnonce_add-prefix'); if (!current_user_can('manage_options')) { wp_die(__('Cheatin’ uh?')); } wl_prefixes_add($_POST['prefix'], $_POST['namespace']); break; // Delete a prefix. // Delete a prefix. case 'delete': if (!current_user_can('manage_options')) { wp_die(__('Cheatin’ uh?')); } wl_prefixes_delete($_GET['prefix']); break; case 'bulk-delete': $prefixes = (array) $_REQUEST['prefix']; foreach ($prefixes as $prefix) { wl_prefixes_delete($prefix); } break; } $wl_prefixes_table->prepare_items(); $wl_prefixes_table->display(); ?> </div> </div><!-- /col-right --> <div id="col-left"> <div class="col-wrap"> <div class="form-wrap"> <h3>Add New Prefix</h3> <form id="addprefix" method="post" class="validate"> <input type="hidden" name="action" value="add-prefix"> <?php wp_nonce_field('add-prefix', '_wpnonce_add-prefix'); ?> <div class="form-field form-required"> <label for="prefix"><?php _e('Prefix', 'wordlift'); ?> </label> <input name="prefix" id="prefix" type="text" value="" size="40" aria-required="true"> <p><?php __('The namespace prefix.', 'wordlift'); ?> </p> </div> <div class="form-field"> <label for="namespace"><?php _e('Namespace', 'wordlift'); ?> </label> <input name="namespace" id="namespace" type="text" value="" size="128"> <p><?php __('The namespace URL.', 'wordlift'); ?> </p> </div> <?php submit_button(__('Add New Prefix', 'wordlift')); ?> </form> </div> </div> </div><!-- /col-left --> </div><!-- /col-container --> </div> <?php }