Plugin Directory

Changeset 1221170


Ignore:
Timestamp:
08/14/2015 07:02:16 PM (11 years ago)
Author:
flashcentury
Message:

ver 0.6.5

Location:
broken-link-manager
Files:
105 added
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • broken-link-manager/trunk/config/class/broken_url.php

    r1027191 r1221170  
    55
    66class wblm_List_Table extends WP_List_Table {
    7 var $url_data = array();       
    8        
     7    var $url_data = array();       
    98    function __construct(){
    10     global $status, $page, $wpdb;
    11 
    12         parent::__construct( array(
    13             'singular'  => __( 'url', 'wblm' ),     //singular name of the listed records
    14             'plural'    => __( 'urls', 'wblm' ),   //plural name of the listed records
    15             'ajax'      => false        //does this table support ajax?
    16 
    17     ) );
    18     add_action( 'admin_head', array( &$this, 'admin_header' ) );           
    19 
     9        global $status, $page, $wpdb;
     10            parent::__construct( array(
     11                'singular'  => __( 'url', 'wblm' ),     //singular name of the listed records
     12                'plural'    => __( 'urls', 'wblm' ),   //plural name of the listed records
     13                'ajax'      => false        //does this table support ajax?
     14        ) );
     15        add_action( 'admin_head', array( &$this, 'admin_header' ) );           
    2016    }
    2117   
    22   function admin_header() {
    23     $page = ( isset($_GET['page'] ) ) ? esc_attr( $_GET['page'] ) : false;
    24     if( 'wblm-broken' != $page )
    25     return;
    26     echo '<style type="text/css">';
    27     echo '.wp-list-table .column-id { width: 30px; }';
    28     echo '.wp-list-table .column-old_url { width: auto; }';
    29     echo '.wp-list-table .column-new_url { width: 450px; }';
    30     echo '.wp-list-table .column-hit { width: 70px;}';
    31     echo '</style>';
    32   }
    33 
    34   function no_items() {
    35     _e( 'No urls found, dude.' );
    36   }
    37 
    38   function column_default( $item, $column_name ) {
    39     switch( $column_name ) {
    40         case 'id':
    41         case 'old_url':
    42         case 'new_url':
    43         case 'hit':
    44             return $item[ $column_name ];
    45         default:
    46             return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
    47     }
    48   }
    49 
    50 function get_sortable_columns() {
    51   $sortable_columns = array(
    52     'id'  => array('id',false),
    53     'old_url'  => array('old_url',false),
    54     'new_url'  => array('old_url',false),
    55     'hit'   => array('hit',false)
    56   );
    57   return $sortable_columns;
     18    function admin_header() {
     19        $page = ( isset($_GET['page'] ) ) ? esc_attr( $_GET['page'] ) : false;
     20        if( 'wblm-broken' != $page )
     21        return;
     22        echo '<style type="text/css">';
     23        echo '.wp-list-table .column-id { width: 30px; }';
     24        echo '.wp-list-table .column-old_url { width: auto; }';
     25        echo '.wp-list-table .column-new_url { width: 450px; }';
     26        echo '.wp-list-table .column-hit { width: 70px;}';
     27        echo '</style>';
     28    }
     29
     30    function no_items() {
     31        _e( 'No urls found, dude.' );
     32    }
     33
     34    function column_default( $item, $column_name ) {
     35        switch( $column_name ) {
     36            case 'id':
     37            case 'old_url':
     38            case 'new_url':
     39            case 'hit':
     40                return $item[ $column_name ];
     41            default:
     42                return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
     43        }
     44    }
     45
     46    function get_sortable_columns() {
     47        $sortable_columns = array(
     48            'id'  => array('id',false),
     49            'old_url'  => array('old_url',false),
     50            'new_url'  => array('old_url',false),
     51            'hit'   => array('hit',false)
     52        );
     53        return $sortable_columns;
     54    }
     55
     56    function get_columns(){
     57        $columns = array(
     58            'cb'        => '<input type="checkbox" />',
     59            'old_url' => __( 'Broken URLs', 'wblm' ),
     60            'new_url' => __( 'Add Redirect Link', 'wblm' ),
     61            'hit'      => __( 'HIT', 'wblm' )
     62        );
     63        return $columns;
     64    }
     65
     66    function usort_reorder( $a, $b ) {
     67        // If no sort, default to title
     68        $orderby = ( ! empty( $_GET['orderby'] ) ) ? sanitize_sql_orderby($_GET['orderby']) : 'old_url';
     69        // If no order, default to asc
     70        $order = ( ! empty($_GET['order'] ) ) ? sanitize_text_field($_GET['order']) : 'asc';
     71        // Determine sort order
     72        $result = strcmp( $a[$orderby], $b[$orderby] );
     73        // Send final sort direction to usort
     74        return ( $order === 'asc' ) ? $result : -$result;
     75    }
     76
     77
     78    function inline_editor() {
     79        return '
     80            <div class="blc-inline-editor-content">
     81                <label>
     82                    <span class="title">URL</span>
     83                    <span><input type="text" placeholder="http://" name="new_url%s" value="" class="wblm-table-add-field" /></span>
     84                </label>
     85                <button type="submit" class="button-primary save alignright" name="urlAdd" value="%s">Add</button>
     86            <div class="clear"></div>
     87            </div>';
     88    }
     89
     90    function column_old_url($item){
     91        $datum = parse_url($item['old_url']);
     92        $parts = pathinfo($datum['path']);
     93        $ext  = isset($parts['extension']) ? $parts['extension'] : 'page';
     94        $actions = array(
     95            'type' => sprintf('<b>%s</b>',$ext),
     96            'delete'    => sprintf('<a href="'. admin_url("admin.php?page=%s&delURL=%s&url=%s") .'" onClick="return confirm(\'Are you sure you want to delete?\');">Delete</a>',$_REQUEST['page'],'on',$item['id']),
     97            'log'    => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Log</a>','wblm-log',$item['id']),
     98            'Waybackmachine'    => sprintf('<a href="http://web.archive.org/web/*/%s" target="_blank">Waybackmachine</a>',$item['old_url']),
     99    );
     100        return sprintf('%1$s %2$s', $item['old_url'], $this->row_actions($actions) );
     101    }
     102
     103    function column_new_url($item){
     104        $actions = array(
     105            'add_url'    => sprintf($this->inline_editor() ,$item['id'],$item['id']),
     106        );
     107        return sprintf('%1$s %2$s', $item['new_url'], $this->row_actions($actions) );
     108    }
     109
     110
     111    function get_bulk_actions() {
     112      $actions = array(
     113        'delete'    => 'Delete URL (URLs and URLs LOG)',
     114        'deleteLog'    => 'Delete only URL LOG',
     115        'bulkEdit'    => 'Bulk Edit'
     116      );
     117      return $actions;
     118    }
     119
     120    function column_cb($item) {
     121        return sprintf('<input type="checkbox" name="url[]" value="%s" />', $item['id']);   
     122    }
     123
     124    function process_bulk_action() {
     125        $url = null;
     126        global $wpdb;     
     127        if( 'delete'===$this->current_action() ) {
     128            foreach($_POST['url'] as $url) {
     129                if(is_numeric($url) && $url!=null){
     130                    $wpdb->delete(TABLE_WBLM, array( 'id' => $url ), array( '%d' ));
     131                    $wpdb->delete(TABLE_WBLM_LOG, array( 'url' => $url ), array( '%d' ));
     132                }   
     133            }
     134        }elseif( 'deleteLog'===$this->current_action() ) {
     135            foreach($_POST['url'] as $url) {
     136                if(is_numeric($url) && $url!=null){
     137                    $wpdb->delete(TABLE_WBLM_LOG, array( 'url' => $url ), array( '%d' ));
     138                }
     139            }
     140        }elseif( 'bulkEdit'===$this->current_action() ) {
     141            get_bulkEdit('wblm-broken', 'Add');
     142        }
     143       
     144        $urlAdd  = isset($_REQUEST['urlAdd']) ? $_REQUEST['urlAdd'] : null;
     145        if($urlAdd){
     146            if(is_numeric($urlAdd) && $urlAdd!=null){
     147                $new_url  = isset($_REQUEST['new_url'.$urlAdd]) ? sanitize_url($_REQUEST['new_url'.$urlAdd]) : null;           
     148                $wpdb->query($wpdb->prepare("UPDATE " . TABLE_WBLM . " SET `new_url` = '%s', `active` = '1' WHERE id = '%d'", $new_url, $urlAdd));
     149               
     150            }
     151        }   
     152        $urlAddBulk  = isset($_REQUEST['urlAddBulk']) ? 'OK' : null;
     153        if($urlAddBulk){
     154            $new_url  = isset($_REQUEST['new_url']) ? sanitize_url($_REQUEST['new_url']) : null;
     155            foreach($_POST['urls'] as $url) {
     156                if(is_numeric($url) && $url!=null){
     157                    $wpdb->query($wpdb->prepare("UPDATE " . TABLE_WBLM . " SET `new_url` = '%s', `active` = '1' WHERE id = '%d'", $new_url, $url));
     158                }
     159            }
     160        }   
     161    }
     162
     163
     164    function prepare_items($search=''){
     165        global $wpdb;
     166         
     167        $table_name = $wpdb->prefix . 'wblm';
     168        $per_page = 100;
     169        $columns = $this->get_columns();
     170        $hidden = array();
     171        $sortable = $this->get_sortable_columns();
     172         
     173        $this->_column_headers = array($columns, $hidden, $sortable);
     174        $this->process_bulk_action();
     175       
     176        $paged = isset($_REQUEST['paged']) ? max(0, intval($_REQUEST['paged']) - 1) : 0;
     177        $orderby = (isset($_REQUEST['orderby']) && in_array($_REQUEST['orderby'], array_keys($this->get_sortable_columns()))) ? sanitize_sql_orderby($_REQUEST['orderby']) : 'hit';
     178        $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? sanitize_text_field($_REQUEST['order']) : 'desc';
     179       
     180        if($search){
     181            $search = trim($search);
     182            $search = sanitize_text_field($search);     
     183            $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '0' and old_url like '%$search%'");
     184            $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE `active` = '0' and `old_url` LIKE '%%%s%%' ORDER BY $orderby $order LIMIT %d OFFSET %d", $search, $per_page, $paged), ARRAY_A);     
     185        }else{
     186            $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '0' ");
     187            $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where `active` = '0' ORDER BY $orderby $order LIMIT %d OFFSET %d", $per_page, $paged), ARRAY_A);
     188        }
     189         
     190        $this->set_pagination_args(array(
     191        'total_items' => $total_items,
     192        'per_page' => $per_page,
     193        'total_pages' => ceil($total_items / $per_page),
     194        ));
     195    }
     196
     197
    58198}
    59199
    60 function get_columns(){
    61     $columns = array(
    62         'cb'        => '<input type="checkbox" />',
    63         'old_url' => __( 'Broken URLs', 'wblm' ),
    64         'new_url' => __( 'Add Redirect Link', 'wblm' ),
    65         'hit'      => __( 'HIT', 'wblm' )
    66     );
    67     return $columns;
    68 }
    69 
    70 function usort_reorder( $a, $b ) {
    71   // If no sort, default to title
    72   $orderby = ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'old_url';
    73   // If no order, default to asc
    74   $order = ( ! empty($_GET['order'] ) ) ? $_GET['order'] : 'asc';
    75   // Determine sort order
    76   $result = strcmp( $a[$orderby], $b[$orderby] );
    77   // Send final sort direction to usort
    78   return ( $order === 'asc' ) ? $result : -$result;
    79 }
    80 
    81 
    82 function inline_editor() {
    83     return '
    84         <div class="blc-inline-editor-content">
    85             <label>
    86                 <span class="title">URL</span>
    87                 <span><input type="text" placeholder="http://" name="new_url%s" value="" class="wblm-table-add-field" /></span>
    88             </label>
    89             <button type="submit" class="button-primary save alignright" name="urlAdd" value="%s">Add</button>
    90         <div class="clear"></div>
    91         </div>';
    92 }
    93 
    94 function column_old_url($item){
    95     $datum = parse_url($item['old_url']);
    96     $parts = pathinfo($datum['path']);
    97     $ext  = isset($parts['extension']) ? $parts['extension'] : 'page';
    98     $actions = array(
    99         'type' => sprintf('<b>%s</b>',$ext),
    100         'delete'    => sprintf('<a href="'. admin_url("admin.php?page=%s&delURL=%s&url=%s") .'" onClick="return confirm(\'Are you sure you want to delete?\');">Delete</a>',$_REQUEST['page'],'on',$item['id']),
    101         'log'    => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Log</a>','wblm-log',$item['id']),
    102         'Waybackmachine'    => sprintf('<a href="http://web.archive.org/web/*/%s" target="_blank">Waybackmachine</a>',$item['old_url']),
    103 );
    104     return sprintf('%1$s %2$s', $item['old_url'], $this->row_actions($actions) );
    105 }
    106 
    107 function column_new_url($item){
    108     $actions = array(
    109         'add_url'    => sprintf($this->inline_editor() ,$item['id'],$item['id']),
    110     );
    111     return sprintf('%1$s %2$s', $item['new_url'], $this->row_actions($actions) );
    112 }
    113 
    114 
    115 function get_bulk_actions() {
    116   $actions = array(
    117     'delete'    => 'Delete URL (URLs and URLs LOG)',
    118     'deleteLog'    => 'Delete only URL LOG',
    119     'bulkEdit'    => 'Bulk Edit'
    120   );
    121   return $actions;
    122 }
    123 
    124 function column_cb($item) {
    125     return sprintf('<input type="checkbox" name="url[]" value="%s" />', $item['id']);   
    126 }
    127 
    128 function process_bulk_action() {
    129     $url = null;           
    130     if( 'delete'===$this->current_action() ) {
    131         foreach($_POST['url'] as $url) {
    132             global $wpdb;   
    133             $wpdb->query("DELETE FROM " . TABLE_WBLM . " WHERE id = $url");
    134             $wpdb->query("DELETE FROM " . TABLE_WBLM_LOG . " WHERE url = $url");
    135         }
    136     }elseif( 'deleteLog'===$this->current_action() ) {
    137         foreach($_POST['url'] as $url) {
    138             global $wpdb;   
    139             $wpdb->query("DELETE FROM " . TABLE_WBLM_LOG . " WHERE url = $url");
    140         }
    141     }elseif( 'bulkEdit'===$this->current_action() ) {
    142                 get_bulkEdit('wblm-broken', 'Add');
    143     }
    144    
    145     $urlAdd  = isset($_REQUEST['urlAdd']) ? $_REQUEST['urlAdd'] : null;
    146     if($urlAdd){
    147         global $wpdb;
    148         $new_url  = isset($_REQUEST['new_url'.$urlAdd]) ? $_REQUEST['new_url'.$urlAdd] : null;
    149         $wpdb->query("UPDATE " . TABLE_WBLM . " SET `new_url` = '$new_url', `active` = '1' WHERE id = '$urlAdd'");
    150     }
    151    
    152     $urlAddBulk  = isset($_REQUEST['urlAddBulk']) ? $_REQUEST['urlAddBulk'] : null;
    153     if($urlAddBulk){
    154         global $wpdb;
    155         $new_url  = isset($_REQUEST['new_url']) ? $_REQUEST['new_url'] : null;
    156         foreach($_POST['urls'] as $url) {
    157             $wpdb->query("UPDATE " . TABLE_WBLM . " SET `new_url` = '$new_url', `active` = '1' WHERE id = '$url'");
    158         }
    159     }
    160    
    161    
    162    
    163 }
    164 
    165 
    166 function prepare_items($search=''){
    167 global $wpdb;
    168  
    169 $table_name = $wpdb->prefix . 'wblm';
    170 $per_page = 50;
    171 $columns = $this->get_columns();
    172 $hidden = array();
    173 $sortable = $this->get_sortable_columns();
    174  
    175 $this->_column_headers = array($columns, $hidden, $sortable);
    176 $this->process_bulk_action();
    177 
    178 $paged = isset($_REQUEST['paged']) ? max(0, intval($_REQUEST['paged']) - 1) : 0;
    179 $orderby = (isset($_REQUEST['orderby']) && in_array($_REQUEST['orderby'], array_keys($this->get_sortable_columns()))) ? $_REQUEST['orderby'] : 'hit';
    180 $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? $_REQUEST['order'] : 'desc';
    181 
    182 if($search){
    183     $search = trim($search);       
    184     $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '0' and old_url like '%$search%'");
    185     $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE `active` = '0' and `old_url` LIKE '%%%s%%' ORDER BY $orderby $order LIMIT %d OFFSET %d", $search, $per_page, $paged), ARRAY_A);     
    186 }else{
    187     $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '0' ");
    188     $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where `active` = '0' ORDER BY $orderby $order LIMIT %d OFFSET %d", $per_page, $paged), ARRAY_A);
    189 }
    190  
    191 $this->set_pagination_args(array(
    192 'total_items' => $total_items,
    193 'per_page' => $per_page,
    194 'total_pages' => ceil($total_items / $per_page),
    195 ));
    196 }
    197 
    198 
    199 }
    200 
    201200?>
  • broken-link-manager/trunk/config/class/log_url.php

    r1000579 r1221170  
    33    require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
    44}
    5 
    65class wblm_List_Table extends WP_List_Table {
    7 
    8 var $url_data = array();       
     6    var $url_data = array();       
    97       
    108    function __construct(){
    11     global $status, $page, $wpdb;
    12 
    13         parent::__construct( array(
    14             'singular'  => __( 'url', 'wblm' ),     //singular name of the listed records
    15             'plural'    => __( 'urls', 'wblm' ),   //plural name of the listed records
    16             'ajax'      => false        //does this table support ajax?
    17 
    18     ) );
    19    
    20     add_action( 'admin_head', array( &$this, 'admin_header' ) );           
    21 
     9        global $status, $page, $wpdb;
     10            parent::__construct( array(
     11                'singular'  => __( 'url', 'wblm' ),     //singular name of the listed records
     12                'plural'    => __( 'urls', 'wblm' ),   //plural name of the listed records
     13                'ajax'      => false        //does this table support ajax?
     14        ) );
     15        add_action( 'admin_head', array( &$this, 'admin_header' ) );           
    2216    }
    2317
    24   function admin_header() {
    25     $page = ( isset($_GET['page'] ) ) ? esc_attr( $_GET['page'] ) : false;
    26     if( 'wblm-log' != $page )
    27     return;
    28     echo '<style type="text/css">';
    29     echo '.wp-list-table .column-id { width: 30px; }';
    30     echo '.wp-list-table .column-date { width: 95px; }';
    31     echo '.wp-list-table .column-referer { width: auto; }';
    32     echo '.wp-list-table .column-user { width: auto;}';
    33     echo '.wp-list-table .column-ip { width: 130px;}';
    34     echo '.wp-list-table .column-http_statu { width: 90px;}';
    35     echo '</style>';
    36   }
     18    function admin_header() {
     19        $page = ( isset($_GET['page'] ) ) ? esc_attr( $_GET['page'] ) : false;
     20        if( 'wblm-log' != $page )
     21        return;
     22        echo '<style type="text/css">';
     23        echo '.wp-list-table .column-id { width: 30px; }';
     24        echo '.wp-list-table .column-date { width: 95px; }';
     25        echo '.wp-list-table .column-referer { width: auto; }';
     26        echo '.wp-list-table .column-user { width: auto;}';
     27        echo '.wp-list-table .column-ip { width: 130px;}';
     28        echo '.wp-list-table .column-http_statu { width: 90px;}';
     29        echo '</style>';
     30    }
    3731
    38   function no_items() {
    39     _e( 'No urls found, dude.' );
    40   }
     32    function no_items() {
     33        _e( 'No urls found, dude.' );
     34    }
    4135
    42   function column_default( $item, $column_name ) {
    43     switch( $column_name ) {
    44         case 'id':
    45         case 'date':
    46         case 'referer':
    47         case 'useragent':
    48         case 'ip':
    49         case 'http_statu':
    50             return $item[ $column_name ];
    51         default:
    52             return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
    53     }
    54   }
    55 
    56 function column_date($item){
    57 return date('d.m.Y H:i:s', strtotime($item['date']));
    58 }
    59 
    60 function column_referer($item){
    61     if ($item['referer'] != 'Direct'){
    62     return '<a href="'.$item['referer'].'" target="_blank">'.$item['referer'].'</a>';
    63     }else{
    64     return $item['referer'];
     36function column_default( $item, $column_name ) {
     37    switch( $column_name ) {
     38        case 'id':
     39        case 'date':
     40        case 'referer':
     41        case 'useragent':
     42        case 'ip':
     43        case 'http_statu':
     44            return $item[ $column_name ];
     45        default:
     46            return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
    6547    }
    6648}
    6749
    68 function column_ip($item){
    69     return '<a href="http://whois.arin.net/rest/ip/'.$item['ip'].'" target="_blank">'.$item['ip'].'</a>';
     50    function column_date($item){
     51        return date('d.m.Y H:i:s', strtotime($item['date']));
     52    }
     53
     54    function column_referer($item){
     55        if ($item['referer'] != 'Direct'){
     56            return '<a href="'.$item['referer'].'" target="_blank">'.$item['referer'].'</a>';
     57        }else{
     58            return $item['referer'];
     59        }
     60    }
     61
     62    function column_ip($item){
     63        return '<a href="http://whois.arin.net/rest/ip/'.$item['ip'].'" target="_blank">'.$item['ip'].'</a>';
     64    }
     65
     66    function column_http_statu($item){
     67        if ($item['http_statu'] == 301){
     68            $http_statu = '<span class="text-success"> 301 </span>';
     69        }elseif($item['http_statu'] == 404){
     70            $http_statu = '<span class="text-danger"> 404 </span>';
     71        }else{
     72            $http_statu = '<span class="text-warning"> Unknown </span>';
     73        }
     74        return $http_statu;
     75    }
     76
     77    function get_sortable_columns() {
     78        $sortable_columns = array(
     79            'id'  => array('id',false),
     80            'date'  => array('date',false),
     81            'referer' => array('referer',false),
     82            'useragent'   => array('useragent',false),
     83            'ip'   => array('ip',false),
     84            'http_statu'   => array('http_statu',false),
     85        );
     86        return $sortable_columns;
     87    }
     88
     89    function get_columns(){
     90        $columns = array(
     91            'cb'            => '<input type="checkbox" />',
     92            'date'          => __( 'Date', 'wblm' ),
     93            'referer'       => __( 'Referer', 'wblm' ),
     94            'useragent'     => __( 'User Agent', 'wblm' ),
     95            'ip'            => __( 'IP', 'wblm' ),
     96            'http_statu'    => __( 'Statu', 'wblm' ),
     97        );
     98        return $columns;
     99    }
    70100   
    71 }
     101    function usort_reorder( $a, $b ) {
     102        // If no sort, default to title
     103        $orderby = ( ! empty( $_GET['orderby'] ) ) ? sanitize_sql_orderby($_GET['orderby']) : 'date';
     104        // If no order, default to asc
     105        $order = ( ! empty($_GET['order'] ) ) ? sanitize_text_field($_GET['order']) : 'asc';
     106        // Determine sort order
     107        $result = strcmp( $a[$orderby], $b[$orderby] );
     108        // Send final sort direction to usort
     109        return ( $order === 'asc' ) ? $result : -$result;
     110    }
     111
     112    function column_referer_url($item){
     113        $actions = array(
     114            'edit'      => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Edit</a>','wblm-edit-url',$item['id']), 
     115            'delete'    => sprintf('<a href="'. admin_url("admin.php?page=%s&delURL=%s&url=%s") .'" onClick="return confirm(\'Are you sure you want to delete?\');">Delete</a>',$_REQUEST['page'],'on',$item['id']),
     116            'log'       => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Log</a>','wblm-log',$item['id']),
     117            'Waybackmachine'    => sprintf('<a href="http://web.archive.org/web/*/%s" target="_blank">Waybackmachine</a>',$item['old_url']),
     118        );
     119        return sprintf('%1$s %2$s', $item['referer'], $this->row_actions($actions) );
     120    }
     121
     122    function get_bulk_actions() {
     123        $actions = array(
     124            'delete'    => 'Delete'
     125        );
     126        return $actions;
     127    }
     128
     129    function column_cb($item) {
     130        return sprintf('<input type="checkbox" name="log[]" value="%s" />', $item['id']);   
     131    }
    72132
    73133
    74 function column_http_statu($item){
    75     if ($item['http_statu'] == 301){
    76         $http_statu = '<span class="text-success"> 301 </span>';
    77     }elseif($item['http_statu'] == 404){
    78         $http_statu = '<span class="text-danger"> 404 </span>';
    79     }else{
    80         $http_statu = '<span class="text-warning"> Unknown </span>';
    81     }
    82     return $http_statu;
    83 }
    84 
    85 
    86 
    87 function get_sortable_columns() {
    88   $sortable_columns = array(
    89     'id'  => array('id',false),
    90     'date'  => array('date',false),
    91     'referer' => array('referer',false),
    92     'useragent'   => array('useragent',false),
    93     'ip'   => array('ip',false),
    94     'http_statu'   => array('http_statu',false),
    95   );
    96   return $sortable_columns;
    97 }
    98 
    99 function get_columns(){
    100         $columns = array(
    101             'cb'        => '<input type="checkbox" />',
    102             'date' => __( 'Date', 'wblm' ),
    103             'referer'    => __( 'Referer', 'wblm' ),
    104             'useragent'      => __( 'User Agent', 'wblm' ),
    105             'ip'      => __( 'IP', 'wblm' ),
    106             'http_statu'      => __( 'Statu', 'wblm' ),
    107         );
    108          return $columns;
    109     }
    110 
    111 function usort_reorder( $a, $b ) {
    112   // If no sort, default to title
    113   $orderby = ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'date';
    114   // If no order, default to asc
    115   $order = ( ! empty($_GET['order'] ) ) ? $_GET['order'] : 'asc';
    116   // Determine sort order
    117   $result = strcmp( $a[$orderby], $b[$orderby] );
    118   // Send final sort direction to usort
    119   return ( $order === 'asc' ) ? $result : -$result;
    120 }
    121 
    122 function column_referer_url($item){
    123   $actions = array(
    124           'edit'    => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Edit</a>','wblm-edit-url',$item['id']), 
    125           'delete'    => sprintf('<a href="'. admin_url("admin.php?page=%s&delURL=%s&url=%s") .'" onClick="return confirm(\'Are you sure you want to delete?\');">Delete</a>',$_REQUEST['page'],'on',$item['id']),
    126           'log'    => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Log</a>','wblm-log',$item['id']),
    127           'Waybackmachine'    => sprintf('<a href="http://web.archive.org/web/*/%s" target="_blank">Waybackmachine</a>',$item['old_url']),
    128 
    129         );
    130 
    131   return sprintf('%1$s %2$s', $item['referer'], $this->row_actions($actions) );
    132 }
    133 
    134 function get_bulk_actions() {
    135   $actions = array(
    136     'delete'    => 'Delete'
    137   );
    138   return $actions;
    139 }
    140 
    141 function column_cb($item) {
    142     return sprintf('<input type="checkbox" name="log[]" value="%s" />', $item['id']);   
    143 }
    144 
    145 
    146 function process_bulk_action() {
    147     $url = null;           
    148     if( 'delete'===$this->current_action() ) {
    149         foreach($_POST['log'] as $log) {
    150             global $wpdb;   
    151             $wpdb->query("DELETE FROM " . TABLE_WBLM_LOG . " WHERE id = $log");
     134    function process_bulk_action() {
     135        $url = null;
     136        global $wpdb;
     137               
     138        if( 'delete'===$this->current_action() ) {
     139            foreach($_POST['log'] as $log) {
     140                if(is_numeric($log) && $log!=null){
     141                    $wpdb->delete(TABLE_WBLM_LOG, array( 'id' => $log ), array( '%d' ));
     142                }
     143            }
    152144        }
    153145    }
    154 }
    155146
    156 
    157 
    158 function prepare_items($url='',$search=''){
    159 global $wpdb;
    160  
    161 $table_name = $wpdb->prefix . 'wblm_log';
    162 $per_page = 50;
    163 $columns = $this->get_columns();
    164 $hidden = array();
    165 $sortable = $this->get_sortable_columns();
    166  
    167 $this->_column_headers = array($columns, $hidden, $sortable);
    168 $this->process_bulk_action();
    169 
    170 $paged = isset($_REQUEST['paged']) ? max(0, intval($_REQUEST['paged']) - 1) : 0;
    171 $orderby = (isset($_REQUEST['orderby']) && in_array($_REQUEST['orderby'], array_keys($this->get_sortable_columns()))) ? $_REQUEST['orderby'] : 'id';
    172 $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? $_REQUEST['order'] : 'desc';
    173 
    174 
    175 if($search){   
    176     $search = trim($search);
    177     $searchFilterUrl = "and (`referer` LIKE '%%$search%%' OR `useragent` LIKE '%%$search%%' OR `ip` LIKE '%%$search%%')";
    178     $searchFilterAll = "where `referer` LIKE '%%$search%%' OR `useragent` LIKE '%%$search%%' OR `ip` LIKE '%%$search%%'";
    179 }else{
    180     $searchFilterUrl = null;
    181     $searchFilterAll = null;
    182 }
    183 
    184 if($url){
    185     $url = trim($url);
    186     $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `url` = '$url' $searchFilterUrl ");
    187     $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE `url` = %d and (`referer` LIKE '%%%s%%' OR `useragent` LIKE '%%%s%%' OR `ip` LIKE '%%%s%%') ORDER BY $orderby $order LIMIT %d OFFSET %d", $url, $search, $search, $search, $per_page, $paged), ARRAY_A);
    188 }else{
    189     $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name $searchFilterAll");
    190     $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where `referer` LIKE '%%%s%%' OR `useragent` LIKE '%%%s%%' OR `ip` LIKE '%%%s%%' ORDER BY $orderby $order LIMIT %d OFFSET %d", $search, $search, $search, $per_page, $paged), ARRAY_A);
    191 }
    192 
    193 //print_r($this->items);
    194 
    195  
    196 $this->set_pagination_args(array(
    197 'total_items' => $total_items,
    198 'per_page' => $per_page,
    199 'total_pages' => ceil($total_items / $per_page),
    200 ));
    201 }
    202 
    203 
    204 }
     147    function prepare_items($url='',$search=''){
     148        global $wpdb;
     149         
     150        $table_name = $wpdb->prefix . 'wblm_log';
     151        $per_page = 100;
     152        $columns = $this->get_columns();
     153        $hidden = array();
     154        $sortable = $this->get_sortable_columns();
     155         
     156        $this->_column_headers = array($columns, $hidden, $sortable);
     157        $this->process_bulk_action();
     158       
     159        $paged = isset($_REQUEST['paged']) ? max(0, intval($_REQUEST['paged']) - 1) : 0;
     160        $orderby = (isset($_REQUEST['orderby']) && in_array($_REQUEST['orderby'], array_keys($this->get_sortable_columns()))) ? sanitize_sql_orderby($_REQUEST['orderby']) : 'id';
     161        $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? sanitize_text_field($_REQUEST['order']) : 'desc';
     162       
     163       
     164        if($search){   
     165            $search = trim($search);
     166            $searchFilterUrl = "and (`referer` LIKE '%%$search%%' OR `useragent` LIKE '%%$search%%' OR `ip` LIKE '%%$search%%')";
     167            $searchFilterAll = "where `referer` LIKE '%%$search%%' OR `useragent` LIKE '%%$search%%' OR `ip` LIKE '%%$search%%'";
     168        }else{
     169            $searchFilterUrl = null;
     170            $searchFilterAll = null;
     171        }
     172       
     173        if($url){
     174            $url = trim($url);
     175            $search = sanitize_text_field($search);
     176            $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `url` = '$url' $searchFilterUrl ");
     177            $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE `url` = %d and (`referer` LIKE '%%%s%%' OR `useragent` LIKE '%%%s%%' OR `ip` LIKE '%%%s%%') ORDER BY $orderby $order LIMIT %d OFFSET %d", $url, $search, $search, $search, $per_page, $paged), ARRAY_A);
     178        }else{
     179            $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name $searchFilterAll");
     180            $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where `referer` LIKE '%%%s%%' OR `useragent` LIKE '%%%s%%' OR `ip` LIKE '%%%s%%' ORDER BY $orderby $order LIMIT %d OFFSET %d", $search, $search, $search, $per_page, $paged), ARRAY_A);
     181        }
     182       
     183        //print_r($this->items);
     184       
     185         
     186        $this->set_pagination_args(array(
     187            'total_items'   => $total_items,
     188            'per_page'      => $per_page,
     189            'total_pages'   => ceil($total_items / $per_page),
     190        ));
     191    }
     192}//Class
    205193?>
  • broken-link-manager/trunk/config/class/redirected_url.php

    r1027191 r1221170  
    55
    66class wblm_List_Table extends WP_List_Table {
     7    var $url_data = array();     
     8    function __construct(){
     9        global $status, $page, $wpdb;
     10            parent::__construct( array(
     11                'singular'  => __( 'url', 'wblm' ),     //singular name of the listed records
     12                'plural'    => __( 'urls', 'wblm' ),   //plural name of the listed records
     13                'ajax'      => false        //does this table support ajax?
     14        ) );
     15        add_action( 'admin_head', array( &$this, 'admin_header' ) );           
     16    }
    717
    8 var $url_data = array();     
    9     function __construct(){
    10     global $status, $page, $wpdb;
    11         parent::__construct( array(
    12             'singular'  => __( 'url', 'wblm' ),     //singular name of the listed records
    13             'plural'    => __( 'urls', 'wblm' ),   //plural name of the listed records
    14             'ajax'      => false        //does this table support ajax?
    15     ) );
    16     add_action( 'admin_head', array( &$this, 'admin_header' ) );           
    17 }
     18    function admin_header() {
     19        $page = ( isset($_GET['page'] ) ) ? esc_attr( $_GET['page'] ) : false;
     20        if( 'wblm-redirect' != $page )
     21        return;
     22        echo '<style type="text/css">';
     23        echo '.wp-list-table .column-id { width: 30px; }';
     24        echo '.wp-list-table .column-old_url { width: auto; }';
     25        echo '.wp-list-table .column-new_url { width: auto; }';
     26        echo '.wp-list-table .column-hit { width: 70px;}';
     27        echo '</style>';
     28    }
    1829
    19 function admin_header() {
    20     $page = ( isset($_GET['page'] ) ) ? esc_attr( $_GET['page'] ) : false;
    21     if( 'wblm-redirect' != $page )
    22     return;
    23     echo '<style type="text/css">';
    24     echo '.wp-list-table .column-id { width: 30px; }';
    25     echo '.wp-list-table .column-old_url { width: auto; }';
    26     echo '.wp-list-table .column-new_url { width: auto; }';
    27     echo '.wp-list-table .column-hit { width: 70px;}';
    28     echo '</style>';
    29 }
     30    function no_items() {
     31        _e( 'No urls found, dude.' );
     32    }
    3033
    31 function no_items() {
    32    _e( 'No urls found, dude.' );
    33 }
     34    function column_default( $item, $column_name ) {
     35        switch( $column_name ) {
     36            case 'id':
     37            case 'old_url':
     38            case 'new_url':
     39            case 'hit':
     40                return $item[ $column_name ];
     41            default:
     42                return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
     43        }
     44    }
    3445
    35 function column_default( $item, $column_name ) {
    36     switch( $column_name ) {
    37         case 'id':
    38         case 'old_url':
    39         case 'new_url':
    40         case 'hit':
    41             return $item[ $column_name ];
    42         default:
    43             return print_r( $item, true ) ; //Show the whole array for troubleshooting purposes
    44     }
    45 }
     46    function get_sortable_columns() {
     47        $sortable_columns = array(
     48            'id'  => array('id',false),
     49            'old_url'  => array('old_url',false),
     50            'new_url' => array('new_url',false),
     51            'hit'   => array('hit',false)
     52        );
     53        return $sortable_columns;
     54    }
    4655
    47 function get_sortable_columns() {
    48   $sortable_columns = array(
    49     'id'  => array('id',false),
    50     'old_url'  => array('old_url',false),
    51     'new_url' => array('new_url',false),
    52     'hit'   => array('hit',false)
    53   );
    54   return $sortable_columns;
    55 }
     56    function get_columns(){
     57        $columns = array(
     58            'cb'        => '<input type="checkbox" />',
     59            'old_url' => __( 'Broken URLs', 'wblm' ),
     60            'new_url'    => __( 'Redirected URLs', 'wblm' ),
     61            'hit'      => __( 'HIT', 'wblm' )
     62        );
     63        return $columns;
     64    }
    5665
    57 function get_columns(){
    58     $columns = array(
    59         'cb'        => '<input type="checkbox" />',
    60         'old_url' => __( 'Broken URLs', 'wblm' ),
    61         'new_url'    => __( 'Redirected URLs', 'wblm' ),
    62         'hit'      => __( 'HIT', 'wblm' )
    63     );
    64     return $columns;
    65 }
     66    function usort_reorder( $a, $b ) {
     67        // If no sort, default to title
     68        $orderby = ( ! empty( $_GET['orderby'] ) ) ? sanitize_sql_orderby($_GET['orderby']) : 'old_url';
     69        // If no order, default to asc
     70        $order = ( ! empty($_GET['order'] ) ) ? sanitize_text_field($_GET['order']) : 'asc';
     71        // Determine sort order
     72        $result = strcmp( $a[$orderby], $b[$orderby] );
     73        // Send final sort direction to usort
     74        return ( $order === 'asc' ) ? $result : -$result;
     75    }
    6676
    67 function usort_reorder( $a, $b ) {
    68   // If no sort, default to title
    69   $orderby = ( ! empty( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'old_url';
    70   // If no order, default to asc
    71   $order = ( ! empty($_GET['order'] ) ) ? $_GET['order'] : 'asc';
    72   // Determine sort order
    73   $result = strcmp( $a[$orderby], $b[$orderby] );
    74   // Send final sort direction to usort
    75   return ( $order === 'asc' ) ? $result : -$result;
    76 }
     77    function column_old_url($item){
     78        $datum = parse_url($item['old_url']);
     79        $parts = pathinfo($datum['path']);
     80        $ext  = isset($parts['extension']) ? $parts['extension'] : 'page';
     81        $actions = array(
     82            'type'      => sprintf('<b>%s</b>',$ext),
     83            'edit'      => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Edit</a>','wblm-edit-url',$item['id']), 
     84            'delete'    => sprintf('<a href="'. admin_url("admin.php?page=%s&delURL=%s&url=%s") .'" onClick="return confirm(\'Are you sure you want to delete?\');">Delete</a>',$_REQUEST['page'],'on',$item['id']),
     85            'log'       => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Log</a>','wblm-log',$item['id']),
     86            'Waybackmachine'    => sprintf('<a href="http://web.archive.org/web/*/%s" target="_blank">Waybackmachine</a>',$item['old_url']),
     87        );
     88        return sprintf('%1$s %2$s', $item['old_url'], $this->row_actions($actions) );
     89    }
    7790
    78 function column_old_url($item){
    79     $datum = parse_url($item['old_url']);
    80     $parts = pathinfo($datum['path']);
    81     $ext  = isset($parts['extension']) ? $parts['extension'] : 'page';
    82     $actions = array(
    83         'type' => sprintf('<b>%s</b>',$ext),
    84         'edit'    => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Edit</a>','wblm-edit-url',$item['id']), 
    85         'delete'    => sprintf('<a href="'. admin_url("admin.php?page=%s&delURL=%s&url=%s") .'" onClick="return confirm(\'Are you sure you want to delete?\');">Delete</a>',$_REQUEST['page'],'on',$item['id']),
    86         'log'    => sprintf('<a href="'. admin_url("admin.php?page=%s&url=%s") .'">Log</a>','wblm-log',$item['id']),
    87         'Waybackmachine'    => sprintf('<a href="http://web.archive.org/web/*/%s" target="_blank">Waybackmachine</a>',$item['old_url']),
    88     );
    89     return sprintf('%1$s %2$s', $item['old_url'], $this->row_actions($actions) );
    90 }
     91    function get_bulk_actions() {
     92        $actions = array(
     93            'delete'    => 'Delete URL (URLs and URLs LOG)',
     94            'deleteLog' => 'Delete only URL LOG',
     95            'bulkEdit'  => 'Bulk Edit'
     96        );
     97        return $actions;
     98    }
    9199
    92 function get_bulk_actions() {
    93   $actions = array(
    94     'delete'    => 'Delete URL (URLs and URLs LOG)',
    95     'deleteLog'    => 'Delete only URL LOG',
    96     'bulkEdit'    => 'Bulk Edit'
    97   );
    98   return $actions;
    99 }
     100    function column_cb($item) {
     101        return sprintf('<input type="checkbox" name="url[]" value="%s" />', $item['id']);   
     102    }
    100103
    101 function column_cb($item) {
    102     return sprintf('<input type="checkbox" name="url[]" value="%s" />', $item['id']);   
    103 }
    104 
    105 function process_bulk_action() {
    106     $url = null;           
    107     if( 'delete'===$this->current_action() ) {
    108         foreach($_POST['url'] as $url) {
    109             global $wpdb;   
    110             $wpdb->query("DELETE FROM " . TABLE_WBLM . " WHERE id = $url");
    111             $wpdb->query("DELETE FROM " . TABLE_WBLM_LOG . " WHERE url = $url");
     104    function process_bulk_action() {
     105        $url = null;
     106        global $wpdb;   
     107               
     108        if( 'delete'===$this->current_action() ) {
     109            foreach($_POST['url'] as $url) {
     110                if(is_numeric($url) && $url!=null){
     111                    $wpdb->delete(TABLE_WBLM, array( 'id' => $url ), array( '%d' ));
     112                    $wpdb->delete(TABLE_WBLM_LOG, array( 'url' => $url ), array( '%d' ));
     113                }
     114            }
     115        }elseif( 'deleteLog'===$this->current_action() ) {
     116            foreach($_POST['url'] as $url) {
     117                if(is_numeric($url) && $url!=null){
     118                    $wpdb->delete(TABLE_WBLM_LOG, array( 'url' => $url ), array( '%d' ));
     119                }
     120            }
     121        }elseif( 'bulkEdit'===$this->current_action() ) {
     122            get_bulkEdit('wblm-redirect', 'Edit');
    112123        }
    113     }elseif( 'deleteLog'===$this->current_action() ) {
    114         foreach($_POST['url'] as $url) {
    115             global $wpdb;
    116             $wpdb->query("DELETE FROM " . TABLE_WBLM_LOG . " WHERE url = $url");
    117         }
    118     }elseif( 'bulkEdit'===$this->current_action() ) {
    119                 get_bulkEdit('wblm-redirect', 'Edit');
    120     }
     124       
     125        $urlAddBulk  = isset($_REQUEST['urlAddBulk']) ? 'OK' : null;
     126        if($urlAddBulk){
     127            $new_url  = isset($_REQUEST['new_url']) ? sanitize_url($_REQUEST['new_url']) : null;
     128            foreach($_POST['urls'] as $url) {
     129                if(is_numeric($url) && $url!=null){
     130                    $wpdb->query($wpdb->prepare("UPDATE " . TABLE_WBLM . " SET `new_url` = '%s', `active` = '1' WHERE id = '%d'", $new_url, $url));
     131                }
    121132   
    122     $urlAddBulk  = isset($_REQUEST['urlAddBulk']) ? $_REQUEST['urlAddBulk'] : null;
    123     if($urlAddBulk){
    124         global $wpdb;
    125         $new_url  = isset($_REQUEST['new_url']) ? $_REQUEST['new_url'] : null;
    126         foreach($_POST['urls'] as $url) {
    127             $wpdb->query("UPDATE " . TABLE_WBLM . " SET `new_url` = '$new_url', `active` = '1' WHERE id = '$url'");
     133            }
    128134        }
    129135    }
    130 }
    131136
    132137
    133 function prepare_items($search=''){
    134 global $wpdb;
    135  
    136 $table_name = $wpdb->prefix . 'wblm';
    137 $per_page = 50;
    138 $columns = $this->get_columns();
    139 $hidden = array();
    140 $sortable = $this->get_sortable_columns();
    141  
    142 $this->_column_headers = array($columns, $hidden, $sortable);
    143 $this->process_bulk_action();
    144  
    145 $paged = isset($_REQUEST['paged']) ? max(0, intval($_REQUEST['paged']) - 1) : 0;
    146 $orderby = (isset($_REQUEST['orderby']) && in_array($_REQUEST['orderby'], array_keys($this->get_sortable_columns()))) ? $_REQUEST['orderby'] : 'hit';
    147 $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? $_REQUEST['order'] : 'desc';
    148 
    149 if($search){   
    150 $search = trim($search);
    151     $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '1' and old_url like '%$search%'");     
    152     $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE `active` = '1' and (`old_url` LIKE '%%%s%%' OR `new_url` LIKE '%%%s%%') ", $search, $search), ARRAY_A);     
    153 }else{
    154     $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '1' ");
    155     $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where `active` = '1' ORDER BY $orderby $order LIMIT %d OFFSET %d", $per_page, $paged), ARRAY_A);
    156 }
    157 
    158 $this->set_pagination_args(array(
    159 'total_items' => $total_items,
    160 'per_page' => $per_page,
    161 'total_pages' => ceil($total_items / $per_page),
    162 ));
    163 }
    164 
    165 
     138    function prepare_items($search=''){
     139        global $wpdb;
     140         
     141        $table_name = $wpdb->prefix . 'wblm';
     142        $per_page = 100;
     143        $columns = $this->get_columns();
     144        $hidden = array();
     145        $sortable = $this->get_sortable_columns();
     146         
     147        $this->_column_headers = array($columns, $hidden, $sortable);
     148        $this->process_bulk_action();
     149         
     150        $paged = isset($_REQUEST['paged']) ? max(0, intval($_REQUEST['paged']) - 1) : 0;
     151        $orderby = (isset($_REQUEST['orderby']) && in_array($_REQUEST['orderby'], array_keys($this->get_sortable_columns()))) ? sanitize_sql_orderby($_REQUEST['orderby']) : 'hit';
     152        $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? sanitize_text_field($_REQUEST['order']) : 'desc';
     153       
     154        if($search){   
     155            $search = trim($search);
     156            $search = sanitize_text_field($search);
     157            $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '1' and old_url like '%$search%'");     
     158            $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE `active` = '1' and (`old_url` LIKE '%%%s%%' OR `new_url` LIKE '%%%s%%') ", $search, $search), ARRAY_A);     
     159        }else{
     160            $total_items = $wpdb->get_var("SELECT COUNT(id) FROM $table_name where `active` = '1' ");
     161            $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where `active` = '1' ORDER BY $orderby $order LIMIT %d OFFSET %d", $per_page, $paged), ARRAY_A);
     162        }
     163       
     164        $this->set_pagination_args(array(
     165        'total_items' => $total_items,
     166        'per_page' => $per_page,
     167        'total_pages' => ceil($total_items / $per_page),
     168        ));
     169    }
    166170} //class
    167171
  • broken-link-manager/trunk/readme.txt

    r1200617 r1221170  
    44Requires at least: 3.0
    55Tested up to: 4.2.2
    6 Stable tag: 0.6.0
     6Stable tag: 0.6.5
    77Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=8NYR3F4RVTBHS
    88
     
    4141== Screenshots ==
    4242
    43 1. WBLM Daschboard
    44 2. Redierct URLs
     431. WBLM Dashboard
     442. Redirected URLs
    45453. WBLM URL Log
    46464. WBLM Settings
     
    4848
    4949== Changelog ==
     50
     51= 0.6.5 =
     52* Optimized POST calls
     53* Some security measures were taken
     54* Fixed small bug
    5055
    5156= 0.6.0 =
  • broken-link-manager/trunk/wblm.php

    r1200617 r1221170  
    44Plugin URI: https://wordpress.org/plugins/broken-link-manager
    55Description: WBLM -> Wordpress Broken Link Manager. This plugin helps you check, organise and monitor your broken backlinks.
    6 Version: 0.6.0
     6Version: 0.6.5
    77Author: Hüseyin Kocak
    88Author URI: http://k-78.de
Note: See TracChangeset for help on using the changeset viewer.