Created
July 7, 2014 08:23
-
-
Save vekexasia/6425d94f3337e4ff890a to your computer and use it in GitHub Desktop.
Domain Mapping Patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 14a75ecbab4812acbe49e00ed0dd7c34375a9306 Mon Sep 17 00:00:00 2001 | |
From: "Andrea BACCEGA" <[email protected]> | |
Date: Mon, 7 Jul 2014 08:16:51 +0000 | |
Subject: [PATCH] Added pagination Fixed search with a real working LIKE | |
--- | |
domain_mapping.php | 33 ++++++++++++++++++++++++++++++--- | |
1 file changed, 30 insertions(+), 3 deletions(-) | |
diff --git a/domain_mapping.php b/domain_mapping.php | |
index ad78b7e..d604b09 100755 | |
--- a/domain_mapping.php | |
+++ b/domain_mapping.php | |
@@ -3,7 +3,7 @@ | |
Plugin Name: WordPress MU Domain Mapping | |
Plugin URI: http://ocaoimh.ie/wordpress-mu-domain-mapping/ | |
Description: Map any blog on a WordPress website to another domain. | |
-Version: 0.5.4.3 | |
+Version: 0.5.4.4 | |
Author: Donncha O Caoimh | |
Author URI: http://ocaoimh.ie/ | |
*/ | |
@@ -134,6 +134,7 @@ function dm_domains_admin() { | |
if ( !empty( $_POST[ 'action' ] ) ) { | |
check_admin_referer( 'domain_mapping' ); | |
$domain = strtolower( $_POST[ 'domain' ] ); | |
+ | |
switch( $_POST[ 'action' ] ) { | |
case "edit": | |
$row = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->dmtable} WHERE domain = %s", $domain ) ); | |
@@ -162,7 +163,8 @@ function dm_domains_admin() { | |
echo "<p><strong>" . __( 'Domain Deleted', 'wordpress-mu-domain-mapping' ) . "</strong></p>"; | |
break; | |
case "search": | |
- $rows = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->dmtable} WHERE domain LIKE %s", $domain ) ); | |
+ $rows = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->dmtable} WHERE domain LIKE %s", '%'.like_escape($domain).'%') ); | |
+ var_dump($rows); | |
dm_domain_listing( $rows, sprintf( __( "Searching for %s", 'wordpress-mu-domain-mapping' ), esc_html( $domain ) ) ); | |
break; | |
} | |
@@ -178,7 +180,12 @@ function dm_domains_admin() { | |
update_site_option( 'dm_301_redirect', intval( $_POST[ 'permanent_redirect' ] ) ); | |
} | |
} | |
+ // Pagination start | |
+ $pagenum = isset( $_GET['pagenum'] ) ? absint( $_GET['pagenum'] ) : 1; | |
+ $limit = 20; | |
+ $offset = ( $pagenum - 1 ) * $limit; | |
+ | |
echo "<h3>" . __( 'Search Domains', 'wordpress-mu-domain-mapping' ) . "</h3>"; | |
echo '<form method="POST">'; | |
wp_nonce_field( 'domain_mapping' ); | |
@@ -189,8 +196,28 @@ function dm_domains_admin() { | |
echo "<p><input type='submit' class='button-secondary' value='" . __( 'Search', 'wordpress-mu-domain-mapping' ) . "' /></p>"; | |
echo "</form><br />"; | |
dm_edit_domain(); | |
- $rows = $wpdb->get_results( "SELECT * FROM {$wpdb->dmtable} ORDER BY id DESC LIMIT 0,20" ); | |
+ $rows = $wpdb->get_results( $wpdb->prepare("SELECT * FROM {$wpdb->dmtable} ORDER BY id DESC LIMIT %d,%d", $offset, $limit) ); | |
+ | |
+ | |
+ $total = $wpdb->get_var( "SELECT COUNT(`id`) FROM {$wpdb->dmtable}" ); | |
+ $num_of_pages = ceil( $total / $limit ); | |
+ | |
+ $page_links = paginate_links( array( | |
+ 'base' => add_query_arg( 'pagenum', '%#%' ), | |
+ 'format' => '', | |
+ 'prev_text' => __( '«', 'aag' ), | |
+ 'next_text' => __( '»', 'aag' ), | |
+ 'total' => $num_of_pages, | |
+ 'current' => $pagenum | |
+ ) ); | |
+ | |
+ if ( $page_links ) { | |
+ echo '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>'; | |
+ } | |
dm_domain_listing( $rows ); | |
+ if ( $page_links ) { | |
+ echo '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>'; | |
+ } | |
echo '<p>' . sprintf( __( '<strong>Note:</strong> %s', 'wordpress-mu-domain-mapping' ), dm_idn_warning() ) . "</p>"; | |
} | |
-- | |
1.7.12.4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment