Shortlinks by Pretty Links – Best WordPress Link Tracking Plugin - Version 1.7.2

Version Description

  • Fixed available security exploits - recommended all users update to 1.7.2 as soon as possible. Thanks to Stephen Sandison for bringing this to our attention!
Download this release

Release Info

Developer supercleanse
Plugin Icon 128x128 Shortlinks by Pretty Links – Best WordPress Link Tracking Plugin
Version 1.7.2
Comparing to
See all releases

Code changes from version 1.7.1 to 1.7.2

classes/controllers/PrliLinksController.php CHANGED
@@ -62,7 +62,7 @@ class PrliLinksController
62
  else if(empty($params['group']))
63
  $prli_message = prli_get_main_message();
64
  else
65
- $prli_message = __("Links in Group: ", 'pretty-link') . $wpdb->get_var("SELECT name FROM " . $prli_group->table_name . " WHERE id=".$params['group']);
66
 
67
  self::display_links_list($params, $prli_message);
68
  }
@@ -148,7 +148,7 @@ class PrliLinksController
148
  public static function update_link($params) {
149
  global $prli_link, $prli_group;
150
  $errors = $prli_link->validate($_POST);
151
- $id = $_POST['id'];
152
 
153
  $errors = apply_filters( "prli_validate_link", $errors );
154
 
@@ -161,7 +161,7 @@ class PrliLinksController
161
  }
162
  else
163
  {
164
- $record = $prli_link->update( $_POST['id'], $_POST );
165
 
166
  do_action( "prli_update_link", $id );
167
 
62
  else if(empty($params['group']))
63
  $prli_message = prli_get_main_message();
64
  else
65
+ $prli_message = __("Links in Group: ", 'pretty-link') . $wpdb->get_var("SELECT name FROM " . $prli_group->table_name . " WHERE id=".(int)$params['group']);
66
 
67
  self::display_links_list($params, $prli_message);
68
  }
148
  public static function update_link($params) {
149
  global $prli_link, $prli_group;
150
  $errors = $prli_link->validate($_POST);
151
+ $id = (int)$_POST['id'];
152
 
153
  $errors = apply_filters( "prli_validate_link", $errors );
154
 
161
  }
162
  else
163
  {
164
+ $record = $prli_link->update( (int)$_POST['id'], $_POST );
165
 
166
  do_action( "prli_update_link", $id );
167
 
classes/views/prli-links/list.php CHANGED
@@ -175,8 +175,8 @@ if(!defined('ABSPATH'))
175
  <?php if( $link->redirect_type != 'pixel' )
176
  {
177
  ?>
178
- <a href="<?php echo $link->url; ?>" target="_blank" title="Visit Target URL: <?php echo $link->url; ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
179
- <a href="<?php echo $pretty_link_url; ?>" target="_blank" title="Visit Pretty Link: <?php echo $pretty_link_url; ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
180
  <?php
181
  }
182
  do_action('prli-special-link-action',$link->id);
@@ -184,18 +184,18 @@ if(!defined('ABSPATH'))
184
  <a class="slug_name" href="<?php echo admin_url('admin.php?page=pretty-link&action=edit&id=' . $link->id); ?>" title="Edit <?php echo esc_html(stripslashes($link->name)); ?>"><?php echo esc_html(stripslashes($link->name)); ?></a>
185
  <br/>
186
  <div class="link_actions">
187
- <a href="<?php echo admin_url('admin.php?page=pretty-link&action=edit&id=' . $link->id); ?>" title="Edit <?php echo $link->slug; ?>"><?php _e('Edit', 'pretty-link'); ?></a>&nbsp;|
188
- <a href="<?php echo admin_url('admin.php?page=pretty-link&action=destroy&id=' . $link->id); ?>" onclick="return confirm('Are you sure you want to delete your <?php echo esc_html($link->name); ?> Pretty Link? This will delete the Pretty Link and all of the statistical data about it in your database.');" title="Delete <?php echo $link->slug; ?>"><?php _e('Delete', 'pretty-link'); ?></a>
189
  |&nbsp;<a href="<?php echo admin_url('admin.php?page=pretty-link&action=reset&id=' . $link->id); ?>" onclick="return confirm('Are you sure you want to reset your <?php echo esc_html($link->name); ?> Pretty Link? This will delete all of the statistical data about this Pretty Link in your database.');" title="Reset <?php echo esc_html($link->name); ?>"><?php _e('Reset', 'pretty-link'); ?></a>
190
  <?php if( $link->track_me and $prli_options->extended_tracking!='count' ) { ?>
191
- |&nbsp;<a href="<?php echo admin_url("admin.php?page=pretty-link/prli-clicks.php&l={$link->id}"); ?>" title="View clicks for <?php echo $link->slug; ?>"><?php _e('Hits', 'pretty-link'); ?></a>
192
  <?php do_action('prli-link-action',$link->id); ?>
193
  <?php } ?>
194
  <?php if( $link->redirect_type != 'pixel' )
195
  {
196
  ?>
197
- |&nbsp;<a href="http://twitter.com/home?status=<?php echo $pretty_link_url; ?>" target="_blank" title="Post <?php echo $pretty_link_url; ?> to Twitter"><?php _e('Tweet', 'pretty-link'); ?></a>&nbsp;|
198
- <a href="mailto:?subject=Pretty Link&body=<?php echo $pretty_link_url; ?>" target="_blank" title="Send <?php echo $pretty_link_url; ?> in an Email"><?php _e('Email', 'pretty-link'); ?></a>
199
  <?php
200
  }
201
  ?>
@@ -204,21 +204,21 @@ if(!defined('ABSPATH'))
204
  <?php do_action('prli_link_column_row',$link->id); ?>
205
  <td>
206
  <?php if($prli_options->extended_tracking!='count')
207
- echo (($link->track_me)?"<a href=\"". admin_url( "admin.php?page=pretty-link/prli-clicks.php&l={$link->id}" ) . "\" title=\"View clicks for $link->slug\">" . (empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques) . "</a>":"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
208
  else
209
  echo (($link->track_me)?(empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques):"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
210
  ?>
211
  </td>
212
- <td><a href="<?php echo admin_url( "admin.php?page=pretty-link&group={$link->group_id}"); ?>"><?php echo $link->group_name; ?></a></td>
213
  <td><?php echo $link->created_at; ?></td>
214
  </td>
215
  <td>
216
- <input type='text' style="font-size: 10px; width: 100%;" readonly="true" onclick='this.select();' onfocus='this.select();' value='<?php echo $pretty_link_url; ?>' />
217
- <span class="list-clippy prli-clipboard"><?php echo $pretty_link_url; ?></span>
218
  <?php if( $link->redirect_type != 'pixel' )
219
  {
220
  ?>
221
- <span style="font-size: 8px;" title="<?php echo $link->url; ?>"><strong><?php _e('Target URL:', 'pretty-link'); ?></strong> <?php echo htmlentities((substr($link->url,0,47) . ((strlen($link->url) >= 47)?'...':'')),ENT_COMPAT,'UTF-8'); ?></span></td>
222
  <?php
223
  }
224
  ?>
175
  <?php if( $link->redirect_type != 'pixel' )
176
  {
177
  ?>
178
+ <a href="<?php echo esc_url($link->url); ?>" target="_blank" title="Visit Target URL: <?php echo esc_attr($link->url); ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
179
+ <a href="<?php echo esc_url($pretty_link_url); ?>" target="_blank" title="Visit Pretty Link: <?php echo esc_attr($pretty_link_url); ?> in a New Window"><img src="<?php echo PRLI_IMAGES_URL . '/url_icon.gif'; ?>" width="13px" height="13px" name="Visit" alt="Visit"/></a>&nbsp;
180
  <?php
181
  }
182
  do_action('prli-special-link-action',$link->id);
184
  <a class="slug_name" href="<?php echo admin_url('admin.php?page=pretty-link&action=edit&id=' . $link->id); ?>" title="Edit <?php echo esc_html(stripslashes($link->name)); ?>"><?php echo esc_html(stripslashes($link->name)); ?></a>
185
  <br/>
186
  <div class="link_actions">
187
+ <a href="<?php echo admin_url('admin.php?page=pretty-link&action=edit&id=' . $link->id); ?>" title="Edit <?php echo esc_attr($link->slug); ?>"><?php _e('Edit', 'pretty-link'); ?></a>&nbsp;|
188
+ <a href="<?php echo admin_url('admin.php?page=pretty-link&action=destroy&id=' . $link->id); ?>" onclick="return confirm('Are you sure you want to delete your <?php echo esc_html($link->name); ?> Pretty Link? This will delete the Pretty Link and all of the statistical data about it in your database.');" title="Delete <?php echo esc_html($link->slug); ?>"><?php _e('Delete', 'pretty-link'); ?></a>
189
  |&nbsp;<a href="<?php echo admin_url('admin.php?page=pretty-link&action=reset&id=' . $link->id); ?>" onclick="return confirm('Are you sure you want to reset your <?php echo esc_html($link->name); ?> Pretty Link? This will delete all of the statistical data about this Pretty Link in your database.');" title="Reset <?php echo esc_html($link->name); ?>"><?php _e('Reset', 'pretty-link'); ?></a>
190
  <?php if( $link->track_me and $prli_options->extended_tracking!='count' ) { ?>
191
+ |&nbsp;<a href="<?php echo admin_url("admin.php?page=pretty-link/prli-clicks.php&l={$link->id}"); ?>" title="View clicks for <?php echo esc_attr($link->slug); ?>"><?php _e('Hits', 'pretty-link'); ?></a>
192
  <?php do_action('prli-link-action',$link->id); ?>
193
  <?php } ?>
194
  <?php if( $link->redirect_type != 'pixel' )
195
  {
196
  ?>
197
+ |&nbsp;<a href="http://twitter.com/home?status=<?php echo esc_url($pretty_link_url); ?>" target="_blank" title="Post <?php echo esc_attr($pretty_link_url); ?> to Twitter"><?php _e('Tweet', 'pretty-link'); ?></a>&nbsp;|
198
+ <a href="mailto:?subject=Pretty Link&body=<?php echo esc_url($pretty_link_url); ?>" target="_blank" title="Send <?php echo esc_attr($pretty_link_url); ?> in an Email"><?php _e('Email', 'pretty-link'); ?></a>
199
  <?php
200
  }
201
  ?>
204
  <?php do_action('prli_link_column_row',$link->id); ?>
205
  <td>
206
  <?php if($prli_options->extended_tracking!='count')
207
+ echo (($link->track_me)?"<a href=\"". admin_url( "admin.php?page=pretty-link/prli-clicks.php&l={$link->id}" ) . "\" title=\"View clicks for " . esc_attr($link->slug) . "\">" . (empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques) . "</a>":"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
208
  else
209
  echo (($link->track_me)?(empty($link->clicks)?0:$link->clicks) . "/" . (empty($link->uniques)?0:$link->uniques):"<img src=\"".PRLI_IMAGES_URL."/not_tracking.png\" title=\"This link isn't being tracked\"/>");
210
  ?>
211
  </td>
212
+ <td><a href="<?php echo admin_url( "admin.php?page=pretty-link&group={$link->group_id}"); ?>"><?php echo esc_html($link->group_name); ?></a></td>
213
  <td><?php echo $link->created_at; ?></td>
214
  </td>
215
  <td>
216
+ <input type='text' style="font-size: 10px; width: 100%;" readonly="true" onclick='this.select();' onfocus='this.select();' value='<?php echo esc_attr($pretty_link_url); ?>' />
217
+ <span class="list-clippy prli-clipboard"><?php echo esc_url($pretty_link_url); ?></span>
218
  <?php if( $link->redirect_type != 'pixel' )
219
  {
220
  ?>
221
+ <span style="font-size: 8px;" title="<?php echo esc_attr($link->url); ?>"><strong><?php _e('Target URL:', 'pretty-link'); ?></strong> <?php echo htmlentities((substr($link->url,0,47) . ((strlen($link->url) >= 47)?'...':'')),ENT_COMPAT,'UTF-8'); ?></span></td>
222
  <?php
223
  }
224
  ?>
pretty-link.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Pretty Link Lite
4
  Plugin URI: http://blairwilliams.com/pretty-link
5
  Description: Shrink, track and share any URL on the Internet from your WordPress website!
6
- Version: 1.7.1
7
  Author: Caseproof
8
  Author URI: http://caseproof.com
9
  Text Domain: pretty-link
3
  Plugin Name: Pretty Link Lite
4
  Plugin URI: http://blairwilliams.com/pretty-link
5
  Description: Shrink, track and share any URL on the Internet from your WordPress website!
6
+ Version: 1.7.2
7
  Author: Caseproof
8
  Author URI: http://caseproof.com
9
  Text Domain: pretty-link
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://prettylinkpro.com
4
  Tags: links, link, url, urls, affiliate, affiliates, pretty, marketing, redirect, forward, plugin, twitter, tweet, rewrite, shorturl, hoplink, hop, shortlink, short, shorten, click, clicks, track, tracking, tiny, tinyurl, budurl, shrinking, domain, shrink, mask, masking, cloak, cloaking, slug, slugs, admin, administration, stats, statistics, stat, statistic, email, ajax, javascript, ui, csv, download, page, post, pages, posts, shortcode, seo, automation, widget, widgets, dashboard
5
  Requires at least: 3.9
6
  Tested up to: 4.6
7
- Stable tag: 1.7.1
8
 
9
  Shrink, beautify, track, manage and share any URL on or off of your WordPress website. Create links that look how you want using your own domain name!
10
 
@@ -56,6 +56,12 @@ http://blairwilliams.com/w7a
56
  * Turn tracking on / off on each link
57
  * Pretty Link Bookmarklet
58
 
 
 
 
 
 
 
59
  == Installation ==
60
 
61
  1. Upload 'pretty-link.zip' to the '/wp-content/plugins/' directory
@@ -66,6 +72,9 @@ http://blairwilliams.com/w7a
66
 
67
  == Changelog ==
68
 
 
 
 
69
  = 1.7.1 =
70
  * Fixed slug already taken issue
71
  * Fixed http banner issue
4
  Tags: links, link, url, urls, affiliate, affiliates, pretty, marketing, redirect, forward, plugin, twitter, tweet, rewrite, shorturl, hoplink, hop, shortlink, short, shorten, click, clicks, track, tracking, tiny, tinyurl, budurl, shrinking, domain, shrink, mask, masking, cloak, cloaking, slug, slugs, admin, administration, stats, statistics, stat, statistic, email, ajax, javascript, ui, csv, download, page, post, pages, posts, shortcode, seo, automation, widget, widgets, dashboard
5
  Requires at least: 3.9
6
  Tested up to: 4.6
7
+ Stable tag: 1.7.2
8
 
9
  Shrink, beautify, track, manage and share any URL on or off of your WordPress website. Create links that look how you want using your own domain name!
10
 
56
  * Turn tracking on / off on each link
57
  * Pretty Link Bookmarklet
58
 
59
+ = Terms and Conditions =
60
+
61
+ Pretty Link is provided by Caseproof, LLC "as is" and with no implied meaning that they will function exactly as you would like or will be compatible with all 3rd party components, plugins, web browsers or web hosting configurations.
62
+
63
+ When you download Pretty Link Lite or Pretty Link Pro you automatically agree to the [Terms and Conditions](https://prettylinkpro.com/terms/) listed on our website.
64
+
65
  == Installation ==
66
 
67
  1. Upload 'pretty-link.zip' to the '/wp-content/plugins/' directory
72
 
73
  == Changelog ==
74
 
75
+ = 1.7.2 =
76
+ * Fixed available security exploits - recommended all users update to 1.7.2 as soon as possible. Thanks to Stephen Sandison for bringing this to our attention!
77
+
78
  = 1.7.1 =
79
  * Fixed slug already taken issue
80
  * Fixed http banner issue