PluginProbe
WP Directory Kit / 1.5.9
WP Directory Kit v1.5.9
1.5.9 1.5.7 1.5.6 1.5.5 1.5.4 1.5.3 trunk 1.1.0 1.1.6 1.1.8 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.8 All 37 releases
← All changes | application/controllers/Wdk_messages.php +106 -5 1.1.0 → 1.5.9 View file →
@@ -9,9 +9,79 @@
9 9
10 10 public function index()
11 11 {
12 12 $this->load->model('messages_m');
13 + $this->load->model('listing_m');
14 + $this->data['form'] = &$this->form;
13 15
16 + $dbusers = get_users( array( 'search' => '',
17 + 'orderby' => 'display_name', 'order' => 'ASC'));
18 + $users = array();
19 + foreach($dbusers as $dbuser) {
20 + $this->data['users'][wmvc_show_data('ID', $dbuser)] = '#'.wmvc_show_data('ID', $dbuser).', '.wmvc_show_data('display_name', $dbuser);
21 + }
22 +
23 + /* [Table Actions Bulk Form] */
24 +
25 + $table_action = $this->input->post_get('table_action');
26 + $action = $this->input->post_get('action');
27 + $posts_selected = $this->input->post_get('post');
28 +
29 + if(!empty($table_action))
30 + {
31 + switch ($action) {
32 + case 'delete':
33 + $this->bulk_delete($posts_selected);
34 + break;
35 + case 'deactivate':
36 + $this->bulk_deactivate($posts_selected);
37 + break;
38 + case 'activate':
39 + $this->bulk_activate($posts_selected);
40 + break;
41 + default:
42 + }
43 + }
44 +
45 + /* [Search Form] */
46 +
47 + global $wpdb;
48 + $wp_usermeta_table = $wpdb->users;
49 +
50 + $controller = 'messages';
51 + $columns = array($this->messages_m->_table_name.'.idmessage',$this->listing_m->_table_name.'.user_id_editor',$wp_usermeta_table.'.display_name',$wp_usermeta_table.'.user_login', $wp_usermeta_table.'.user_email', 'search',$this->messages_m->_table_name.'.email_sender', $this->messages_m->_table_name.'.message');
52 + $external_columns = array($this->listing_m->_table_name.'.user_id_editor',$wp_usermeta_table.'.display_name',$wp_usermeta_table.'.user_login', $wp_usermeta_table.'.user_email',$this->messages_m->_table_name.'.email_sender', $this->messages_m->_table_name.'.message');
53 +
54 + $this->data['order_by'] = array('idmessage DESC' => __('ID DESC', 'wpdirectorykit'),
55 + 'idmessage ASC' => __('ID ASC', 'wpdirectorykit'),
56 + 'display_name DESC' => __('User DESC', 'wpdirectorykit'),
57 + 'display_name ASC' => __('User ASC', 'wpdirectorykit'),
58 + );
59 +
60 + $rules = array(
61 + array(
62 + 'field' => 'search',
63 + 'label' => __('Search tag', 'wpdirectorykit'),
64 + 'rules' => ''
65 + ),
66 + array(
67 + 'field' => 'order_by',
68 + 'label' => __('Order By', 'wpdirectorykit'),
69 + 'rules' => ''
70 + ),
71 + array(
72 + 'field' => 'user_id_editor',
73 + 'label' => __('User', 'wpdirectorykit'),
74 + 'rules' => ''
75 + ),
76 + );
77 +
78 + $this->data['db_data'] = $this->messages_m->prepare_data($this->input->get(), $rules);
79 +
80 +
81 + $this->db->join($this->db->prefix.'wdk_listings ON '.$this->db->prefix.'wdk_listings.post_id = '.$this->messages_m->_table_name.'.post_id', NULL, 'LEFT');
82 + $this->db->join($wp_usermeta_table.' ON '.$this->db->prefix.'wdk_listings.user_id_editor = '.$wp_usermeta_table.'.ID', NULL, 'LEFT');
83 + wdk_messages_prepare_search_query_GET($columns, $controller.'_m', $external_columns);
14 84 $total_items = $this->messages_m->total();
15 85
16 86 $current_page = 1;
17 87 if(isset($_GET['paged']))
@@ -26,10 +96,17 @@
26 96
27 97 if(function_exists('wmvc_wp_paginate'))
28 98 $this->data['pagination_output'] = wmvc_wp_paginate($total_items, $per_page);
29 99
100 + wdk_messages_prepare_search_query_GET($columns, $controller.'_m', $external_columns);
101 +
102 + $post_table = $this->db->prefix.'posts';
103 + $this->db->select($this->messages_m->_table_name.'.*,'.$this->db->prefix.'wdk_listings.*, '.$this->messages_m->_table_name.'.date AS message_date,'.$post_table.'.post_title,'.$wp_usermeta_table.'.display_name,'.$wp_usermeta_table.'.user_login,'
104 + .$wp_usermeta_table.'.user_email');
105 + $this->db->join($this->db->prefix.'wdk_listings ON '.$this->db->prefix.'wdk_listings.post_id = '.$this->messages_m->_table_name.'.post_id', NULL, 'LEFT');
106 + $this->db->join($wp_usermeta_table.' ON '.$this->db->prefix.'wdk_listings.user_id_editor = '.$wp_usermeta_table.'.ID', NULL, 'LEFT');
30 107 $this->data['messages'] = $this->messages_m->get_pagination($per_page, $offset);
31 -
108 +
32 109 // Load view
33 110 $this->load->view('wdk_messages/index', $this->data);
34 111 }
35 112
@@ -36,21 +113,41 @@
36 113 public function delete()
37 114 {
38 115 $id = (int) $this->input->post_get('id');
39 116 $paged = (int) $this->input->post_get('paged');
117 +
118 + // Check _wpnonce
119 + check_admin_referer( 'wdk-messages-delete_'.$id, '_wpnonce' );
40 120
41 121 $this->load->model('messages_m');
42 -
122 + wdk_access_check('messages_m', $id);
43 123 $this->messages_m->delete($id);
44 124
45 125 wp_redirect(admin_url("admin.php?page=wdk_messages&paged=$paged"));
46 126 }
127 +
128 + public function bulk_delete($posts_selected)
129 + {
130 + // Check _wpnonce
131 + check_admin_referer( 'wdk-messages-bulk', '_wpnonce');
132 +
133 + $this->load->model('messages_m');
134 +
135 + foreach($posts_selected as $id)
136 + {
137 + wdk_access_check('messages_m', $id);
138 + $this->messages_m->delete($id);
139 + }
140 +
141 + wp_redirect(admin_url("admin.php?page=wdk_messages&is_updated=true&custom_message=".urlencode(esc_html__('Selected Messages removed', 'wpdirectorykit'))));
142 + exit();
143 + }
47 144
48 145 public function edit()
49 146 {
50 147 $this->load->model('messages_m');
51 148
52 - $id = $this->input->post_get('id');
149 + $id = (int) $this->input->post_get('id');
53 150 wdk_access_check('messages_m', $id);
54 151 $this->data['db_data'] = NULL;
55 152
56 153 $this->data['form'] = &$this->form;
@@ -74,9 +171,9 @@
74 171 'rules' => ''
75 172 ),
76 173 array(
77 174 'field' => 'is_readed',
78 - 'label' => __('Readed', 'wpdirectorykit'),
175 + 'label' => __('I read it', 'wpdirectorykit'),
79 176 'rules' => ''
80 177 ),
81 178 );
82 179
@@ -81,10 +178,14 @@
81 178 );
82 179
83 180 if($this->form->run($rules))
84 181 {
182 +
183 + // Check _wpnonce
184 + check_admin_referer( 'wdk-messages-edit_'.$id, '_wpnonce' );
185 +
85 186 // Save procedure for basic data
86 - $data = $this->messages_m->prepare_data($this->input->post(), $rules);
187 + $data = $this->messages_m->prepare_data(wdk_get_post(), $rules);
87 188
88 189 // Save standard wp post
89 190
90 191 $insert_id = $this->messages_m->insert($data, $id);