Changeset 3141483
- Timestamp:
- 08/26/2024 08:13:45 AM (18 months ago)
- Location:
- wp-pocket-urls
- Files:
-
- 6 edited
-
tags/1.0.3/classes/class-wp-pocketurl-clicks.php (modified) (6 diffs)
-
tags/1.0.3/classes/class-wp-pocketurl-reports.php (modified) (2 diffs)
-
tags/1.0.3/classes/class-wp-pocketurl.php (modified) (1 diff)
-
trunk/classes/class-wp-pocketurl-clicks.php (modified) (6 diffs)
-
trunk/classes/class-wp-pocketurl-reports.php (modified) (2 diffs)
-
trunk/classes/class-wp-pocketurl.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
wp-pocket-urls/tags/1.0.3/classes/class-wp-pocketurl-clicks.php
r3132893 r3141483 183 183 public function getClickCountByPostID($ID){ 184 184 global $wpdb; 185 $sql = "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID"; 185 $sql = $wpdb->prepare( 186 "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 187 $ID 188 ); 186 189 return $wpdb->get_var($sql); 187 190 } … … 205 208 'fields' => 'ids', // Only get post IDs 206 209 )); 207 $ids = implode(',',$post_ids); 208 $sql = "SELECT COUNT(1) as total FROM {$wpdb->wp_pocketurl_clicks_table} where link_id IN ($ids)"; 209 $sum = $wpdb->get_var($sql); 210 if (!empty($post_ids)) 211 { 212 $placeholders = array_fill(0, count($post_ids), '%d'); 213 $format = implode(',', $placeholders); 214 $query = "SELECT COUNT(1) as total FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id IN ($format)"; 215 $sql = call_user_func_array(array($wpdb, 'prepare'), array_merge(array($query), $post_ids)); 216 $sum = $wpdb->get_var($sql); 217 } 218 else 219 { 220 $sum = 0; // No posts, so count is 0 221 } 210 222 return $sum; 211 223 } … … 213 225 * get clicks details by link ID 214 226 * return array of rows 215 */ 216 public function getClicksDetailsByID($ID,$start,$end){ 217 global $wpdb; 218 $sql = "SELECT * FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID ORDER BY click_date DESC LIMIT $start, 10"; 227 */public function getClicksDetailsByID($ID, $start, $end){ 228 global $wpdb; 229 $sql = $wpdb->prepare( 230 "SELECT * FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d ORDER BY click_date DESC LIMIT %d, %d", 231 $ID, $start, 10 232 ); 219 233 $result = $wpdb->get_results($sql); 220 return $result; 234 return $result; 221 235 } 222 236 /* … … 226 240 public function getClicksDetailsTotalBYID($ID){ 227 241 global $wpdb; 228 $sql = "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID"; 242 $sql = $wpdb->prepare( 243 "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 244 $ID 245 ); 229 246 $result = $wpdb->get_var($sql); 230 return $result; 247 return $result; 231 248 } 232 249 /* … … 236 253 public function getClicksCountBYID($ID){ 237 254 global $wpdb; 238 $sql = "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID"; 255 $sql = $wpdb->prepare( 256 "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 257 $ID 258 ); 239 259 $result = $wpdb->get_var($sql); 240 return $result; 260 return $result; 241 261 } 242 262 … … 246 266 public function delete_clicks_count($id){ 247 267 global $wpdb; 248 $wpdb->query("DELETE FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$id"); 249 } 250 268 $sql = $wpdb->prepare( 269 "DELETE FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 270 $id 271 ); 272 $wpdb->query($sql); 273 } 251 274 } -
wp-pocket-urls/tags/1.0.3/classes/class-wp-pocketurl-reports.php
r3132893 r3141483 139 139 public function wp_pocketurl_links_by_country($code){ 140 140 global $wpdb; 141 $sql = "SELECT DISTINCT(link_id) as ID from {$wpdb->wp_pocketurl_clicks_table} WHERE click_country_code = {$code}"; 141 $sql = $wpdb->prepare( 142 "SELECT DISTINCT(link_id) as ID FROM {$wpdb->wp_pocketurl_clicks_table} WHERE click_country_code = %s", 143 $code 144 ); 142 145 return (array) $wpdb->get_col($sql); 143 146 } … … 162 165 * get clicks count grouped by date 163 166 */ 164 public function wp_pocketurl_get_clicks_report($cmonth=null, $cat=null, $country=null,$link=null ){ 165 global $wpdb;$and=0; 166 $sql = "SELECT count(1) as clicks, DATE(click_date) as date FROM {$wpdb->wp_pocketurl_clicks_table}"; 167 if($country || $cmonth || $cat || $link){ 168 $sql .=" WHERE"; 169 } 170 171 if($country){ 172 $sql .=" click_country_code ='$country'"; 173 $and=1; 174 } 175 176 if($cmonth){ 177 if($and){ 178 $sql.=" AND"; 179 } 180 $year = date('Y',strtotime($cmonth)); 181 $month = date('m',strtotime($cmonth)); 182 $sql .=" YEAR(click_date)='$year' AND MONTH(click_date)='$month'"; 183 $and=1; 184 } 185 186 if($cat){ 187 if($and){ 188 $sql.=" AND"; 189 } 190 $IDs = implode(',', $this->wp_pocketurl_get_links_ids_by_cat_id($cat) ); 191 $sql.=" link_id IN ({$IDs})"; 192 $and=1; 193 } 194 if($link){ 195 if($and){ 196 $sql.=" AND"; 197 } 198 $sql.=" link_id = {$link}"; 199 $and=1; 200 } 201 $sql .=" GROUP BY DATE(click_date) ORDER BY click_date ASC"; 167 public function wp_pocketurl_get_clicks_report($cmonth = null, $cat = null, $country = null, $link = null){ 168 global $wpdb; 169 $sql = "SELECT count(1) as clicks, DATE(click_date) as date FROM {$wpdb->wp_pocketurl_clicks_table}"; 170 171 $where_clauses = []; 172 173 if ($country) { 174 $where_clauses[] = $wpdb->prepare("click_country_code = %s", $country); 175 } 176 177 if ($cmonth) { 178 $year = date('Y', strtotime($cmonth)); 179 $month = date('m', strtotime($cmonth)); 180 $where_clauses[] = $wpdb->prepare("YEAR(click_date) = %d AND MONTH(click_date) = %d", $year, $month); 181 } 182 183 if ($cat) { 184 $IDs = implode(',', array_map('absint', $this->wp_pocketurl_get_links_ids_by_cat_id($cat))); 185 if (!empty($IDs)) { 186 $where_clauses[] = "link_id IN ({$IDs})"; 187 } 188 } 189 190 if ($link) { 191 $where_clauses[] = $wpdb->prepare("link_id = %d", $link); 192 } 193 194 if (!empty($where_clauses)) { 195 $sql .= " WHERE " . implode(' AND ', $where_clauses); 196 } 197 198 $sql .= " GROUP BY DATE(click_date) ORDER BY click_date ASC"; 199 202 200 $result = $wpdb->get_results($sql); 203 201 return $result; 204 }202 } 205 203 206 204 /* -
wp-pocket-urls/tags/1.0.3/classes/class-wp-pocketurl.php
r3132893 r3141483 265 265 global $wpdb; 266 266 global $post_type; 267 if ( $post_type != 'wp_pocketurl_link' ) return; 268 $sql = "DELETE FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id={$postID}"; 267 if ($post_type != 'wp_pocketurl_link') return; 268 $sql = $wpdb->prepare( 269 "DELETE FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 270 $postID 271 ); 269 272 $rows = $wpdb->query($sql); 270 273 } -
wp-pocket-urls/trunk/classes/class-wp-pocketurl-clicks.php
r2359978 r3141483 183 183 public function getClickCountByPostID($ID){ 184 184 global $wpdb; 185 $sql = "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID"; 185 $sql = $wpdb->prepare( 186 "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 187 $ID 188 ); 186 189 return $wpdb->get_var($sql); 187 190 } … … 205 208 'fields' => 'ids', // Only get post IDs 206 209 )); 207 $ids = implode(',',$post_ids); 208 $sql = "SELECT COUNT(1) as total FROM {$wpdb->wp_pocketurl_clicks_table} where link_id IN ($ids)"; 209 $sum = $wpdb->get_var($sql); 210 if (!empty($post_ids)) 211 { 212 $placeholders = array_fill(0, count($post_ids), '%d'); 213 $format = implode(',', $placeholders); 214 $query = "SELECT COUNT(1) as total FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id IN ($format)"; 215 $sql = call_user_func_array(array($wpdb, 'prepare'), array_merge(array($query), $post_ids)); 216 $sum = $wpdb->get_var($sql); 217 } 218 else 219 { 220 $sum = 0; // No posts, so count is 0 221 } 210 222 return $sum; 211 223 } … … 213 225 * get clicks details by link ID 214 226 * return array of rows 215 */ 216 public function getClicksDetailsByID($ID,$start,$end){ 217 global $wpdb; 218 $sql = "SELECT * FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID ORDER BY click_date DESC LIMIT $start, 10"; 227 */public function getClicksDetailsByID($ID, $start, $end){ 228 global $wpdb; 229 $sql = $wpdb->prepare( 230 "SELECT * FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d ORDER BY click_date DESC LIMIT %d, %d", 231 $ID, $start, 10 232 ); 219 233 $result = $wpdb->get_results($sql); 220 return $result; 234 return $result; 221 235 } 222 236 /* … … 226 240 public function getClicksDetailsTotalBYID($ID){ 227 241 global $wpdb; 228 $sql = "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID"; 242 $sql = $wpdb->prepare( 243 "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 244 $ID 245 ); 229 246 $result = $wpdb->get_var($sql); 230 return $result; 247 return $result; 231 248 } 232 249 /* … … 236 253 public function getClicksCountBYID($ID){ 237 254 global $wpdb; 238 $sql = "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$ID"; 255 $sql = $wpdb->prepare( 256 "SELECT count(1) FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 257 $ID 258 ); 239 259 $result = $wpdb->get_var($sql); 240 return $result; 260 return $result; 241 261 } 242 262 … … 246 266 public function delete_clicks_count($id){ 247 267 global $wpdb; 248 $wpdb->query("DELETE FROM {$wpdb->wp_pocketurl_clicks_table} where link_id=$id"); 249 } 250 268 $sql = $wpdb->prepare( 269 "DELETE FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 270 $id 271 ); 272 $wpdb->query($sql); 273 } 251 274 } -
wp-pocket-urls/trunk/classes/class-wp-pocketurl-reports.php
r3132892 r3141483 139 139 public function wp_pocketurl_links_by_country($code){ 140 140 global $wpdb; 141 $sql = "SELECT DISTINCT(link_id) as ID from {$wpdb->wp_pocketurl_clicks_table} WHERE click_country_code = {$code}"; 141 $sql = $wpdb->prepare( 142 "SELECT DISTINCT(link_id) as ID FROM {$wpdb->wp_pocketurl_clicks_table} WHERE click_country_code = %s", 143 $code 144 ); 142 145 return (array) $wpdb->get_col($sql); 143 146 } … … 162 165 * get clicks count grouped by date 163 166 */ 164 public function wp_pocketurl_get_clicks_report($cmonth=null, $cat=null, $country=null,$link=null ){ 165 global $wpdb;$and=0; 166 $sql = "SELECT count(1) as clicks, DATE(click_date) as date FROM {$wpdb->wp_pocketurl_clicks_table}"; 167 if($country || $cmonth || $cat || $link){ 168 $sql .=" WHERE"; 169 } 170 171 if($country){ 172 $sql .=" click_country_code ='$country'"; 173 $and=1; 174 } 175 176 if($cmonth){ 177 if($and){ 178 $sql.=" AND"; 179 } 180 $year = date('Y',strtotime($cmonth)); 181 $month = date('m',strtotime($cmonth)); 182 $sql .=" YEAR(click_date)='$year' AND MONTH(click_date)='$month'"; 183 $and=1; 184 } 185 186 if($cat){ 187 if($and){ 188 $sql.=" AND"; 189 } 190 $IDs = implode(',', $this->wp_pocketurl_get_links_ids_by_cat_id($cat) ); 191 $sql.=" link_id IN ({$IDs})"; 192 $and=1; 193 } 194 if($link){ 195 if($and){ 196 $sql.=" AND"; 197 } 198 $sql.=" link_id = {$link}"; 199 $and=1; 200 } 201 $sql .=" GROUP BY DATE(click_date) ORDER BY click_date ASC"; 167 public function wp_pocketurl_get_clicks_report($cmonth = null, $cat = null, $country = null, $link = null){ 168 global $wpdb; 169 $sql = "SELECT count(1) as clicks, DATE(click_date) as date FROM {$wpdb->wp_pocketurl_clicks_table}"; 170 171 $where_clauses = []; 172 173 if ($country) { 174 $where_clauses[] = $wpdb->prepare("click_country_code = %s", $country); 175 } 176 177 if ($cmonth) { 178 $year = date('Y', strtotime($cmonth)); 179 $month = date('m', strtotime($cmonth)); 180 $where_clauses[] = $wpdb->prepare("YEAR(click_date) = %d AND MONTH(click_date) = %d", $year, $month); 181 } 182 183 if ($cat) { 184 $IDs = implode(',', array_map('absint', $this->wp_pocketurl_get_links_ids_by_cat_id($cat))); 185 if (!empty($IDs)) { 186 $where_clauses[] = "link_id IN ({$IDs})"; 187 } 188 } 189 190 if ($link) { 191 $where_clauses[] = $wpdb->prepare("link_id = %d", $link); 192 } 193 194 if (!empty($where_clauses)) { 195 $sql .= " WHERE " . implode(' AND ', $where_clauses); 196 } 197 198 $sql .= " GROUP BY DATE(click_date) ORDER BY click_date ASC"; 199 202 200 $result = $wpdb->get_results($sql); 203 201 return $result; 204 }202 } 205 203 206 204 /* -
wp-pocket-urls/trunk/classes/class-wp-pocketurl.php
r2393200 r3141483 265 265 global $wpdb; 266 266 global $post_type; 267 if ( $post_type != 'wp_pocketurl_link' ) return; 268 $sql = "DELETE FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id={$postID}"; 267 if ($post_type != 'wp_pocketurl_link') return; 268 $sql = $wpdb->prepare( 269 "DELETE FROM {$wpdb->wp_pocketurl_clicks_table} WHERE link_id = %d", 270 $postID 271 ); 269 272 $rows = $wpdb->query($sql); 270 273 }
Note: See TracChangeset
for help on using the changeset viewer.