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

Version Description

  • Feature Added Bulk Actions for Pretty Link Management page
  • Feature Added the ability to change the number of rows displayed in the Pretty Link Management page (no longer limited to 10)
  • Feature Added 1-click copy for pretty links in the Pretty Link management page and bookmarklet
  • Feature Added the ability to click on the referrer links in the pretty link hits table
  • Fix Fixed the permission issue when clicking on some links in the pretty link admin interface
  • Fix Fixed the timestamp issue in hits that some people were experiencing
Download this release

Release Info

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

Code changes from version 1.5.7 to 1.5.9

classes/controllers/PrliGroupsController.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  if(!defined('ABSPATH'))
3
- die(__('You are not allowed to call this page directly.', 'pretty-link'));
4
 
5
  // We'll do a full refactor later -- for now we'll just implement the add group ajax method
6
  class PrliGroupsController
@@ -40,4 +40,4 @@ class PrliGroupsController
40
 
41
  exit;
42
  }
43
- }
1
  <?php
2
  if(!defined('ABSPATH'))
3
+ die('You are not allowed to call this page directly.');
4
 
5
  // We'll do a full refactor later -- for now we'll just implement the add group ajax method
6
  class PrliGroupsController
40
 
41
  exit;
42
  }
43
+ }
classes/controllers/PrliLinksController.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  if(!defined('ABSPATH'))
3
- die(__('You are not allowed to call this page directly.', 'pretty-link'));
4
 
5
  class PrliLinksController
6
  {
@@ -21,13 +21,15 @@ class PrliLinksController
21
  else if($action == 'edit')
22
  return self::edit_link($params);
23
  else if($action == 'bulk-update')
24
- return self::bulk_edit_links($params);
25
  else if($action == 'update')
26
  return self::update_link($params);
27
  else if($action == 'reset')
28
  return self::reset_link($params);
29
  else if($action == 'destroy')
30
  return self::destroy_link($params);
 
 
31
  else
32
  return self::list_links($params);
33
  }
@@ -37,7 +39,19 @@ class PrliLinksController
37
  }
38
 
39
  public static function load_scripts() {
40
- wp_enqueue_script( 'prli-admin-links', PRLI_JS_URL . '/prli-admin-links.js', array('jquery') );
 
 
 
 
 
 
 
 
 
 
 
 
41
  }
42
 
43
  public static function list_links($params) {
@@ -131,14 +145,6 @@ class PrliLinksController
131
  require_once PRLI_VIEWS_PATH . '/prli-links/edit.php';
132
  }
133
 
134
- public static function bulk_update_links($params) {
135
- if(apply_filters('prli-bulk-link-update', true))
136
- {
137
- $prli_message = __("Your Pretty Links were Successfully Updated", 'pretty-link');
138
- self::display_links_list($params, $prli_message, '', 1);
139
- }
140
- }
141
-
142
  public static function update_link($params) {
143
  global $prli_link, $prli_group;
144
  $errors = $prli_link->validate($_POST);
@@ -164,20 +170,75 @@ class PrliLinksController
164
  }
165
  }
166
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  public static function reset_link($params) {
168
- global $prli_link;
169
  $prli_link->reset( $params['id'] );
170
  $prli_message = __("Your Pretty Link was Successfully Reset", 'pretty-link');
171
  self::display_links_list($params, $prli_message, '', 1);
172
  }
173
 
174
  public static function destroy_link($params) {
175
- global $prli_link;
176
  $prli_link->destroy( $params['id'] );
177
  $prli_message = __("Your Pretty Link was Successfully Destroyed", 'pretty-link');
178
  self::display_links_list($params, $prli_message, '', 1);
179
  }
180
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
  public static function display_links_list($params, $prli_message, $page_params_ov = false, $current_page_ov = false)
182
  {
183
  global $wpdb, $prli_utils, $prli_click, $prli_group, $prli_link, $page_size, $prli_options;
@@ -186,6 +247,8 @@ class PrliLinksController
186
 
187
  $where_clause = '';
188
  $page_params = '';
 
 
189
 
190
  if(!empty($params['group']))
191
  {
@@ -297,4 +360,4 @@ class PrliLinksController
297
  'message' => (isset($_REQUEST['message'])?$_REQUEST['message']:'')
298
  );
299
  }
300
- }
1
  <?php
2
  if(!defined('ABSPATH'))
3
+ die('You are not allowed to call this page directly.');
4
 
5
  class PrliLinksController
6
  {
21
  else if($action == 'edit')
22
  return self::edit_link($params);
23
  else if($action == 'bulk-update')
24
+ return self::bulk_update_links($params);
25
  else if($action == 'update')
26
  return self::update_link($params);
27
  else if($action == 'reset')
28
  return self::reset_link($params);
29
  else if($action == 'destroy')
30
  return self::destroy_link($params);
31
+ else if($action == 'bulk-destroy')
32
+ return self::bulk_destroy_links($params);
33
  else
34
  return self::list_links($params);
35
  }
39
  }
40
 
41
  public static function load_scripts() {
42
+ wp_enqueue_script( 'jquery-clippy', PRLI_JS_URL . '/jquery.clippy.js', array('jquery') );
43
+ wp_enqueue_script( 'prli-admin-links', PRLI_JS_URL . '/prli-admin-links.js', array('jquery','jquery-clippy') );
44
+ }
45
+
46
+ public static function load_dynamic_scripts() {
47
+ ?>
48
+ <script type="text/javascript">
49
+ jQuery(document).ready(function() {
50
+ /* Set up the clippies! */
51
+ jQuery('.list-clippy').clippy({clippy_path: '<?php echo PRLI_JS_URL; ?>/clippy.swf', width: '100px', color: '#F9F9F9'});
52
+ });
53
+ </script>
54
+ <?php
55
  }
56
 
57
  public static function list_links($params) {
145
  require_once PRLI_VIEWS_PATH . '/prli-links/edit.php';
146
  }
147
 
 
 
 
 
 
 
 
 
148
  public static function update_link($params) {
149
  global $prli_link, $prli_group;
150
  $errors = $prli_link->validate($_POST);
170
  }
171
  }
172
 
173
+ public static function bulk_update_links() {
174
+ global $prli_link;
175
+ if(wp_verify_nonce($_REQUEST['_wpnonce'],'prli_bulk_update') and isset($_REQUEST['ids'])) {
176
+
177
+ $ids = $_REQUEST['ids'];
178
+ $params = $_REQUEST['bu'];
179
+
180
+ $prli_link->bulk_update( $ids, $params );
181
+ do_action('prli-bulk-action-update',$ids,$params);
182
+
183
+ $message = __('Your links were updated successfully', 'pretty-link');
184
+
185
+ //self::display_links_list(self::get_params_array(),$message);
186
+
187
+ // We're going to redirect here to avoid having a big nasty url that
188
+ // can cause problems when doing several activities in a row.
189
+
190
+ // Scrub message, action, _wpnonce, ids & bu vars from the arguments and redirect
191
+ $request_uri = preg_replace( '#\&(message|action|_wpnonce|ids|bu\[[^\]]*?\])=[^\&]*#', '', $_SERVER['REQUEST_URI'] );
192
+
193
+ // we assume here that some arguments are set ... if not this value is meaningless anyway
194
+ $request_uri .= '&message=' . urlencode($message);
195
+ $redirect_url = 'http' . (empty($_SERVER['HTTPS'])?'':'s') . '://' . $_SERVER['HTTP_HOST'] . $request_uri;
196
+
197
+ require PRLI_VIEWS_PATH . '/shared/jsredirect.php';
198
+ }
199
+ else
200
+ wp_die(__('You are unauthorized to view this page.', 'pretty-link'));
201
+ }
202
+
203
  public static function reset_link($params) {
204
+ global $prli_link;
205
  $prli_link->reset( $params['id'] );
206
  $prli_message = __("Your Pretty Link was Successfully Reset", 'pretty-link');
207
  self::display_links_list($params, $prli_message, '', 1);
208
  }
209
 
210
  public static function destroy_link($params) {
211
+ global $prli_link;
212
  $prli_link->destroy( $params['id'] );
213
  $prli_message = __("Your Pretty Link was Successfully Destroyed", 'pretty-link');
214
  self::display_links_list($params, $prli_message, '', 1);
215
  }
216
 
217
+ public static function bulk_destroy_links($params) {
218
+ global $prli_link;
219
+ if(wp_verify_nonce($_REQUEST['_wpnonce'],'prli_bulk_update') and isset($_REQUEST['ids'])) {
220
+ $ids = explode(',', $_REQUEST['ids']);
221
+
222
+ foreach($ids as $id) {
223
+ $prli_link->destroy( $id );
224
+ }
225
+
226
+ $message = __('Your links were deleted successfully', 'pretty-link');
227
+
228
+ //self::display_links_list($params,$message);
229
+ // Scrub message, action, _wpnonce, ids & bu vars from the arguments and redirect
230
+ $request_uri = preg_replace( '#\&(message|action|_wpnonce|ids|bu\[[^\]]*?\])=[^\&]*#', '', $_SERVER['REQUEST_URI'] );
231
+
232
+ // we assume here that some arguments are set ... if not this value is meaningless anyway
233
+ $request_uri .= '&message=' . urlencode($message);
234
+ $redirect_url = 'http' . (empty($_SERVER['HTTPS'])?'':'s') . '://' . $_SERVER['HTTP_HOST'] . $request_uri;
235
+
236
+ require PRLI_VIEWS_PATH . '/shared/jsredirect.php';
237
+ }
238
+ else
239
+ wp_die(__('You are unauthorized to view this page.', 'pretty-link'));
240
+ }
241
+
242
  public static function display_links_list($params, $prli_message, $page_params_ov = false, $current_page_ov = false)
243
  {
244
  global $wpdb, $prli_utils, $prli_click, $prli_group, $prli_link, $page_size, $prli_options;
247
 
248
  $where_clause = '';
249
  $page_params = '';
250
+
251
+ $page_size = (isset($_REQUEST['size']) && is_numeric($_REQUEST['size']) && !empty($_REQUEST['size']))?$_REQUEST['size']:10;
252
 
253
  if(!empty($params['group']))
254
  {
360
  'message' => (isset($_REQUEST['message'])?$_REQUEST['message']:'')
361
  );
362
  }
363
+ }
classes/helpers/PrliLinksHelper.php ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class PrliLinksHelper {
4
+
5
+ public static function groups_dropdown($fieldname, $value='', $extra_options=array(), $classes='') {
6
+ global $prli_group;
7
+ $groups = $prli_group->getAll();
8
+
9
+ $idname = preg_match('#^.*\[(.*?)\]$#',$fieldname,$matches)?$matches[1]:$fieldname;
10
+
11
+ ?>
12
+ <select id="<?php echo esc_html($idname); ?>" name="<?php echo esc_html($fieldname); ?>" class="<?php echo $classes; ?>">
13
+ <?php if( empty($extra_options) ): ?>
14
+ <option><?php _e('None', 'pretty-link'); ?>&nbsp;</option>
15
+ <?php else:
16
+ foreach($extra_options as $exoptkey => $exoptval): ?>
17
+ <option value="<?php echo $exoptval; ?>"><?php echo $exoptkey; ?>&nbsp;</option>
18
+ <?php endforeach;
19
+ endif; ?>
20
+ <?php foreach($groups as $group): ?>
21
+ <?php $selected = ($value==$group->id)?' selected="selected"':''; ?>
22
+ <option value="<?php echo $group->id; ?>"<?php echo $selected; ?>><?php echo $group->name; ?>&nbsp;</option>
23
+ <?php endforeach; ?>
24
+ </select>
25
+ <?php
26
+ }
27
+
28
+ public static function redirect_type_dropdown($fieldname, $value='', $extra_options=array(), $classes='') {
29
+ $selected = ' selected="selected"';
30
+ $idname = preg_match('#^.*\[(.*?)\]$#',$fieldname,$matches)?$matches[1]:$fieldname;
31
+ ?>
32
+ <select id="<?php echo $idname; ?>" name="<?php echo $fieldname; ?>" class="<?php echo $classes; ?>">
33
+ <?php if( !empty($extra_options) ):
34
+ foreach($extra_options as $exoptkey => $exoptval): ?>
35
+ <option value="<?php echo $exoptval; ?>"><?php echo $exoptkey; ?>&nbsp;</option>
36
+ <?php endforeach;
37
+ endif; ?>
38
+ <option value="307"<?php echo ($value==307)?$selected:''; ?>><?php _e("307 (Temporary)", 'pretty-link') ?>&nbsp;</option>
39
+ <option value="301"<?php echo ($value==301)?$selected:''; ?>><?php _e("301 (Permanent)", 'pretty-link') ?>&nbsp;</option>
40
+ <?php do_action('prli_redirection_types', array()); ?>
41
+ </select>
42
+ <?php
43
+ }
44
+
45
+ public static function bulk_action_dropdown() {
46
+ ?>
47
+ <div class="prli_bulk_action_dropdown">
48
+ <select class="prli_bulk_action">
49
+ <option value="-1"><?php _e('Bulk Actions', 'pretty-link'); ?>&nbsp;</option>
50
+ <option value="edit"><?php _e('Edit', 'pretty-link'); ?>&nbsp;</option>
51
+ <option value="delete"><?php _e('Delete', 'pretty-link'); ?>&nbsp;</option>
52
+ </select>
53
+ <a href="javascript:" class="prli_bulk_action_apply button" data-confmsg="<?php _e('Are you sure you want to delete the selected links?', 'pretty-link'); ?>" data-url="<?php echo admin_url('admin.php'); ?>" data-wpnonce="<?php echo wp_create_nonce('prli_bulk_update'); ?>" ><?php _e('Apply', 'pretty-link'); ?></a>
54
+ </div>
55
+ <?php
56
+ }
57
+
58
+ public static function bulk_action_checkbox_dropdown($input_name, $input_title, $classes='') {
59
+ $idname = preg_match('#^.*\[(.*?)\]$#',$input_name,$matches)?$matches[1]:$input_name;
60
+ ?>
61
+ <div class="bacheck-title"><?php echo $input_title; ?></div>
62
+ <select name="<?php echo $input_name; ?>" class="<?php echo $classes; ?>" id="<?php echo $idname; ?>">
63
+ <option value="##nochange##"><?php _e('- No Change -', 'pretty-link'); ?>&nbsp;</option>
64
+ <option value="off"><?php _e('Off', 'pretty-link'); ?>&nbsp;</option>
65
+ <option value="on"><?php _e('On', 'pretty-link'); ?>&nbsp;</option>
66
+ </select>
67
+ <?php
68
+ }
69
+ }
classes/models/PrliGroup.php CHANGED
@@ -6,7 +6,7 @@ class PrliGroup
6
  {
7
  var $table_name;
8
 
9
- function PrliGroup()
10
  {
11
  global $wpdb;
12
  $this->table_name = "{$wpdb->prefix}prli_groups";
@@ -120,4 +120,4 @@ class PrliGroup
120
 
121
  return $errors;
122
  }
123
- }
6
  {
7
  var $table_name;
8
 
9
+ function __construct()
10
  {
11
  global $wpdb;
12
  $this->table_name = "{$wpdb->prefix}prli_groups";
120
 
121
  return $errors;
122
  }
123
+ }
classes/models/PrliLink.php CHANGED
@@ -6,7 +6,7 @@ class PrliLink
6
  {
7
  var $table_name;
8
 
9
- function PrliLink()
10
  {
11
  global $wpdb;
12
  $this->table_name = "{$wpdb->prefix}prli_links";
@@ -97,6 +97,48 @@ class PrliLink
97
  return $query_results;
98
  }
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  function update_group( $id, $value, $group_id )
101
  {
102
  global $wpdb;
6
  {
7
  var $table_name;
8
 
9
+ function __construct()
10
  {
11
  global $wpdb;
12
  $this->table_name = "{$wpdb->prefix}prli_links";
97
  return $query_results;
98
  }
99
 
100
+ function bulk_update( $ids, $values ) {
101
+ if( !empty($ids) and is_array($values) and !empty($values) ) {
102
+ global $wpdb;
103
+ $query = "UPDATE {$this->table_name} SET ";
104
+
105
+ $link_columns = array( 'name',
106
+ 'description',
107
+ 'url',
108
+ 'slug',
109
+ 'nofollow',
110
+ 'track_me',
111
+ 'param_forwarding',
112
+ 'param_struct',
113
+ 'redirect_type',
114
+ 'group_id' );
115
+
116
+ $sets = array();
117
+ foreach($values as $lnkkey => $lnkval) {
118
+ // make sure this is an option contained in the links table
119
+ if(in_array($lnkkey, $link_columns)) {
120
+ // check to see if this is a checkbox
121
+ if(in_array(strtolower($lnkval), array('on','off')))
122
+ $sets[] = $wpdb->prepare("{$lnkkey}=%d", (strtolower($lnkval)=='on'));
123
+ else
124
+ $sets[] = $wpdb->prepare("{$lnkkey}=%s", $lnkval);
125
+ }
126
+ }
127
+
128
+ $query .= implode(',', $sets);
129
+
130
+ if(preg_match('/,/',$ids))
131
+ $query .= " WHERE id IN ({$ids})";
132
+ else
133
+ $query .= $wpdb->prepare(" WHERE id=%d", $ids);
134
+
135
+ $query_results = $wpdb->query($query);
136
+ return $query_results;
137
+ }
138
+
139
+ return false;
140
+ }
141
+
142
  function update_group( $id, $value, $group_id )
143
  {
144
  global $wpdb;
classes/models/PrliLinkMeta.php CHANGED
@@ -6,7 +6,7 @@ class PrliLinkMeta
6
  {
7
  var $table_name;
8
 
9
- function PrliLinkMeta()
10
  {
11
  global $wpdb;
12
  $this->table_name = "{$wpdb->prefix}prli_link_metas";
@@ -58,4 +58,12 @@ class PrliLinkMeta
58
  $query = $wpdb->prepare($query_str, $meta_key, $link_id);
59
  return $wpdb->query($query);
60
  }
61
- }
 
 
 
 
 
 
 
 
6
  {
7
  var $table_name;
8
 
9
+ function __construct()
10
  {
11
  global $wpdb;
12
  $this->table_name = "{$wpdb->prefix}prli_link_metas";
58
  $query = $wpdb->prepare($query_str, $meta_key, $link_id);
59
  return $wpdb->query($query);
60
  }
61
+
62
+ function delete_link_metas($link_id) {
63
+ global $wpdb;
64
+
65
+ $query_str = "DELETE FROM {$this->table_name} WHERE link_id=%d";
66
+ $query = $wpdb->prepare($query_str, $meta_key, $link_id);
67
+ return $wpdb->query($query);
68
+ }
69
+ }
classes/models/PrliUrlUtils.php DELETED
@@ -1,166 +0,0 @@
1
- <?php
2
- if(!defined('ABSPATH'))
3
- die('You are not allowed to call this page directly.');
4
-
5
- class PrliUrlUtils {
6
-
7
- function get_title($url, $slug='')
8
- {
9
- $title = '';
10
-
11
- $data = PrliUrlUtils::curl_read_remote_file($url);
12
-
13
- // Look for <title>(.*?)</title> in the text
14
- if($data and preg_match('#<title>[\s\n\r]*?(.*?)[\s\n\r]*?</title>#im', $data, $matches))
15
- $title = trim($matches[1]);
16
-
17
- if(empty($title) or !$title)
18
- return $slug;
19
-
20
- return $title;
21
- }
22
-
23
- function valid_url($url)
24
- {
25
- $data = PrliUrlUtils::curl_read_remote_header($url);
26
-
27
- if(!empty($data) and $data)
28
- {
29
- preg_match("/HTTP\/1\.[1|0]\s(\d{3})/",$data,$matches);
30
- return ($matches[1] == '200');
31
- }
32
-
33
- // Let's just assume its valid if we can't test it
34
- return true;
35
- }
36
-
37
- function curl_read_remote_header($url)
38
- {
39
- if(function_exists('curl_init'))
40
- {
41
- $ch = curl_init();
42
-
43
- curl_setopt($ch, CURLOPT_URL, $url);
44
- curl_setopt($ch, CURLOPT_HEADER, true);
45
- curl_setopt($ch, CURLOPT_NOBODY, true);
46
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
47
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
48
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
49
-
50
- $data = curl_exec($ch);
51
-
52
- curl_close($ch);
53
-
54
- return $data;
55
- }
56
-
57
- return false;
58
- }
59
-
60
- function curl_read_remote_file($url)
61
- {
62
- if(function_exists('curl_init'))
63
- {
64
- $ch = curl_init();
65
-
66
- curl_setopt($ch, CURLOPT_URL, $url);
67
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
68
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
69
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
70
-
71
- $data = curl_exec($ch);
72
-
73
- curl_close($ch);
74
-
75
- return $data;
76
- }
77
-
78
- return false;
79
- }
80
-
81
- /**
82
- * Sends http request ensuring the request will fail before $timeout seconds
83
- * gotta use a socket connection because some hosting setups don't allow fopen.
84
- * Supports SSL sites as well as 301, 302 & 307 redirects
85
- * Returns the response content (no header, trimmed)
86
- * @param string $url
87
- * @param string $num_chunks Set to 0 if you want to read the full file
88
- * @param string $chunk_size In bytes
89
- * @param int $timeout
90
- * @return string|false false if request failed
91
- */
92
- function read_remote_file($url, $num_chunks=0, $headers='', $params='', $chunk_size=1024, $timeout=30 )
93
- {
94
- $purl = @parse_url($url);
95
-
96
- $sock_host = $purl['host'];
97
- $sock_port = ($purl['port']?(int)$purl['port']:80);
98
- $sock_scheme = $purl['scheme'];
99
-
100
- $req_host = $purl['host'];
101
- $req_path = $purl['path'];
102
-
103
- if(empty($req_path))
104
- $req_path = "/";
105
-
106
- if($sock_scheme == 'https')
107
- {
108
- $sock_port = 443;
109
- $sock_host = "ssl://{$sock_host}";
110
- }
111
-
112
- $fp = fsockopen($sock_host, $sock_port, $errno, $errstr, $timeout);
113
- $contents = '';
114
- $header = '';
115
-
116
- if (!$fp)
117
- return false;
118
- else
119
- {
120
- // Send get request
121
- $request = "GET {$req_path}{$params} HTTP/1.1\r\n";
122
- $request .= "Host: {$req_host}\r\n";
123
- $request .= $headers;
124
- $request .= "Connection: Close\r\n\r\n";
125
- fwrite($fp, $request);
126
-
127
- // Read response
128
- $head_end_found = false;
129
- $buffer = '';
130
- for($i = 0; !feof($fp); $i++)
131
- {
132
- if($num_chunks > 0 and $i >= $num_chunks)
133
- break;
134
-
135
- $out = fread($fp,$chunk_size);
136
- if($head_end_found)
137
- $contents .= $out;
138
- else
139
- {
140
- $buffer .= $out;
141
- $head_end = strpos($buffer, "\r\n\r\n");
142
- if($head_end !== false)
143
- {
144
- $head_end_found = true;
145
- $contents .= substr($buffer, ($head_end + 4));
146
- $header .= substr($buffer, 0, $head_end);
147
- // Follow HTTP redirects
148
- if(preg_match("#http/1\.1 (301|302|307)#i",$header))
149
- {
150
- preg_match("#^Location:(.*?)$#im",$header,$matches);
151
- return PrliUrlUtils::read_remote_file(trim($matches[1]));
152
- }
153
- else if(preg_match("#http/1\.1 (400|401|402|403|404|405|406|407|408|409|410|411|412|413|414|415|416|417|500|501|502|503|504|505)#i",$header))
154
- return false; // The file wasn't found
155
- }
156
- }
157
- }
158
- fclose($fp);
159
- }
160
-
161
- if(empty($contents))
162
- return false;
163
- else
164
- return trim($contents);
165
- }
166
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/models/models.inc.php CHANGED
@@ -42,6 +42,9 @@ global $prli_app_controller;
42
 
43
  $prli_app_controller = new PrliAppController();
44
 
 
 
 
45
  function prli_get_main_message($message='',$expiration=1800) // Get new messages every 1/2 hour
46
  {
47
  global $prli_update;
42
 
43
  $prli_app_controller = new PrliAppController();
44
 
45
+ // Load Helpers
46
+ require_once( PRLI_HELPERS_PATH . '/PrliLinksHelper.php' );
47
+
48
  function prli_get_main_message($message='',$expiration=1800) // Get new messages every 1/2 hour
49
  {
50
  global $prli_update;
classes/views/prli-clicks/list.php CHANGED
@@ -16,7 +16,7 @@
16
  ?>
17
  <?php
18
  if(!empty($params['l']) and $params['l'] != 'all')
19
- echo '<br/><a href="?page='. PRLI_PLUGIN_NAME .'/prli-links.php">&laquo Back to Links</a>';
20
  else if(!empty($params['ip']) or !empty($params['vuid']))
21
  echo '<br/><a href="?page='. PRLI_PLUGIN_NAME .'/prli-clicks.php">&laquo Back to Hits</a>';
22
 
@@ -129,12 +129,12 @@
129
  <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
130
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&vuid=<?php echo $click->vuid; ?>" title="View All Activity for Visitor: <?php echo $click->vuid; ?>"><?php echo $click->vuid; ?><?php echo (($click->vuid != null)?" ($click->vuid_count)":''); ?></a></td>
131
  <?php } ?>
132
- <td><?php echo gmdate('Y-m-d H:i:s', (strtotime($click->created_at) + (get_option('gmt_offset') * 3600))); ?></td>
133
  <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
134
  <td><?php echo $click->host; ?></td>
135
  <?php } ?>
136
  <td><?php echo $click->uri; ?></td>
137
- <td><?php echo $click->referer; ?></td>
138
  <td><a href="?page=<?php print PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $click->link_id; ?>" title="View clicks for <?php echo stripslashes($click->link_name); ?>"><?php echo stripslashes($click->link_name); ?></a></td>
139
  </tr>
140
  <?php
@@ -167,4 +167,4 @@
167
  require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
168
  ?>
169
 
170
- </div>
16
  ?>
17
  <?php
18
  if(!empty($params['l']) and $params['l'] != 'all')
19
+ echo '<br/><a href="' . admin_url("admin.php?page=pretty-link") . '">&laquo Back to Links</a>';
20
  else if(!empty($params['ip']) or !empty($params['vuid']))
21
  echo '<br/><a href="?page='. PRLI_PLUGIN_NAME .'/prli-clicks.php">&laquo Back to Hits</a>';
22
 
129
  <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
130
  <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&vuid=<?php echo $click->vuid; ?>" title="View All Activity for Visitor: <?php echo $click->vuid; ?>"><?php echo $click->vuid; ?><?php echo (($click->vuid != null)?" ($click->vuid_count)":''); ?></a></td>
131
  <?php } ?>
132
+ <td><?php echo $click->created_at; ?></td>
133
  <?php if( isset($prli_options->extended_tracking) and $prli_options->extended_tracking == "extended" ) { ?>
134
  <td><?php echo $click->host; ?></td>
135
  <?php } ?>
136
  <td><?php echo $click->uri; ?></td>
137
+ <td><a href="<?php echo $click->referer; ?>"><?php echo $click->referer; ?></a></td>
138
  <td><a href="?page=<?php print PRLI_PLUGIN_NAME; ?>/prli-clicks.php&l=<?php echo $click->link_id; ?>" title="View clicks for <?php echo stripslashes($click->link_name); ?>"><?php echo stripslashes($click->link_name); ?></a></td>
139
  </tr>
140
  <?php
167
  require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
168
  ?>
169
 
170
+ </div>
classes/views/prli-dashboard-widget/widget.php CHANGED
@@ -2,17 +2,17 @@
2
  <div class="wrap">
3
  <a href="http://blairwilliams.com/pretty-link"><img style="float: left; border: 0px;" src="<?php echo PRLI_IMAGES_URL . '/prettylink_logo_small.jpg'; ?>"/></a><div style="min-height: 48px;"><div style="min-height: 18px; margin-left: 137px; margin-top: 0px; padding-top: 0px; border: 1px solid #e5e597; background-color: #ffffa0; display: block;"><p style="font-size: 11px; margin:0px; padding: 0px; padding-left: 10px;"><?php echo prli_get_main_message(__("Add a Pretty Link from your Dashboard:", 'pretty-link')); ?></p></div></div>
4
 
5
- <form name="form1" method="post" action="?page=<?php echo PRLI_PLUGIN_NAME ?>/prli-links.php">
6
  <input type="hidden" name="action" value="quick-create">
7
  <?php wp_nonce_field('update-options'); ?>
8
 
9
  <table class="form-table">
10
  <tr class="form-field">
11
- <td valign="top">Target URL</td>
12
  <td><input type="text" name="url" value="" size="75">
13
  </tr>
14
  <tr>
15
- <td valign="top">Pretty Link</td>
16
  <td><strong><?php echo esc_html($prli_blogurl); ?></strong>/<input type="text" name="slug" value="<?php echo $prli_link->generateValidSlug(); ?>">
17
  </tr>
18
  </table>
@@ -21,4 +21,4 @@
21
  <input type="submit" name="Submit" value="Create" />
22
  </p>
23
  </form>
24
- </div>
2
  <div class="wrap">
3
  <a href="http://blairwilliams.com/pretty-link"><img style="float: left; border: 0px;" src="<?php echo PRLI_IMAGES_URL . '/prettylink_logo_small.jpg'; ?>"/></a><div style="min-height: 48px;"><div style="min-height: 18px; margin-left: 137px; margin-top: 0px; padding-top: 0px; border: 1px solid #e5e597; background-color: #ffffa0; display: block;"><p style="font-size: 11px; margin:0px; padding: 0px; padding-left: 10px;"><?php echo prli_get_main_message(__("Add a Pretty Link from your Dashboard:", 'pretty-link')); ?></p></div></div>
4
 
5
+ <form name="form1" method="post" action="<?php echo admin_url("admin.php?page=pretty-link"); ?>">
6
  <input type="hidden" name="action" value="quick-create">
7
  <?php wp_nonce_field('update-options'); ?>
8
 
9
  <table class="form-table">
10
  <tr class="form-field">
11
+ <td valign="top"><?php _e("Target URL", 'pretty-link'); ?></td>
12
  <td><input type="text" name="url" value="" size="75">
13
  </tr>
14
  <tr>
15
+ <td valign="top"><?php _e("Pretty Link", 'pretty-link'); ?></td>
16
  <td><strong><?php echo esc_html($prli_blogurl); ?></strong>/<input type="text" name="slug" value="<?php echo $prli_link->generateValidSlug(); ?>">
17
  </tr>
18
  </table>
21
  <input type="submit" name="Submit" value="Create" />
22
  </p>
23
  </form>
24
+ </div>
classes/views/prli-groups/list.php CHANGED
@@ -63,11 +63,11 @@ if(!defined('ABSPATH'))
63
  <div class="group_actions">
64
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=edit&id=<?php echo $group->id; ?>" title="Edit <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Edit</a>&nbsp;|
65
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=destroy&id=<?php echo $group->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo htmlspecialchars(stripslashes($group->name)); ?> Pretty Link Group?');" title="Delete <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Delete</a>&nbsp;|
66
- <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Links</a>&nbsp;|
67
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&group=<?php echo $group->id; ?>" title="View hits in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Hits</a>
68
  </div>
69
  </td>
70
- <td><a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php&group=<?php echo $group->id; ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo $group->link_count; ?></a></td>
71
  <td><?php echo $group->created_at; ?></td>
72
  </tr>
73
  <?php
@@ -86,4 +86,4 @@ if(!defined('ABSPATH'))
86
  require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
87
  ?>
88
 
89
- </div>
63
  <div class="group_actions">
64
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=edit&id=<?php echo $group->id; ?>" title="Edit <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Edit</a>&nbsp;|
65
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-groups.php&action=destroy&id=<?php echo $group->id; ?>" onclick="return confirm('Are you sure you want to delete your <?php echo htmlspecialchars(stripslashes($group->name)); ?> Pretty Link Group?');" title="Delete <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Delete</a>&nbsp;|
66
+ <a href="<?php echo admin_url("admin.php?page=pretty-link&group={$group->id}"); ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Links</a>&nbsp;|
67
  <a href="?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-clicks.php&group=<?php echo $group->id; ?>" title="View hits in <?php echo htmlspecialchars(stripslashes($group->name)); ?>">Hits</a>
68
  </div>
69
  </td>
70
+ <td><a href="<?php echo admin_url("admin.php?page=pretty-link&group={$group->id}"); ?>" title="View links in <?php echo htmlspecialchars(stripslashes($group->name)); ?>"><?php echo $group->link_count; ?></a></td>
71
  <td><?php echo $group->created_at; ?></td>
72
  </tr>
73
  <?php
86
  require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
87
  ?>
88
 
89
+ </div>
classes/views/prli-links/bar.php DELETED
@@ -1,18 +0,0 @@
1
- <?php
2
- if(!defined('ABSPATH'))
3
- die('You are not allowed to call this page directly.');
4
- ?>
5
-
6
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7
- <html>
8
- <head>
9
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
10
- <meta name="description" content="<?php echo stripslashes($pretty_link->description); ?>" />
11
- <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
12
- </head>
13
- <frameset rows="66,*" framespacing=0 frameborder=0>
14
- <frame src="<?php echo PRLI_URL . "/pretty-bar.php?slug=".$pretty_link->slug . "&url=".urlencode($pretty_link_url.$param_string); ?>" noresize frameborder=0 scrolling=no marginwidth=0 marginheight=0 style="">
15
- <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
16
- <noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
17
- </frameset>
18
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/views/prli-links/form.php CHANGED
@@ -60,14 +60,14 @@
60
  <input type="checkbox" name="nofollow" <?php echo esc_html($values['nofollow']); ?>/>&nbsp; <?php _e("'Nofollow' this Link", 'pretty-link') ?>
61
  <p class="description"><?php _e('Add a nofollow and noindex to this link\'s http redirect header', 'pretty-link')?>
62
  </div>
63
- <div id="prli_time_delay" style="display: none">
64
- <br/>
65
- <h3><?php _e('Delay Redirect (Seconds):', 'pretty-link'); ?></h3>
66
- <div class="pane">
67
- <input type="text" name="delay" value="<?php echo esc_attr($values['delay']); ?>" />
68
- <p class="description"><?php _e('Time in seconds to wait before redirecting', 'pretty-link') ?></p>
69
- </div>
70
- </div>
71
  </td>
72
  <td valign="top" width="50%">
73
  <h3><?php _e("Parameter Forwarding", 'pretty-link') ?></h3>
@@ -79,24 +79,24 @@
79
  <div class="pane">
80
  <input type="checkbox" name="track_me" <?php echo esc_html($values['track_me']); ?>/>&nbsp; <?php _e("Track Hits on this Link", 'pretty-link') ?>
81
  <p class="description"><?php _e('Enable Pretty Link\'s built-in hit (click) tracking', 'pretty-link') ?></p>
82
- <div id="prli_google_analytics" style="display: none">
83
- <input type="checkbox" name="google_tracking" <?php echo esc_attr($values['google_tracking']); ?>/>&nbsp; <?php _e('Enable Google Analytics Tracking on this Link', 'pretty-link') ?>
84
- <p class="description"><?php _e('Requires the Google Analyticator, Google Analytics for WordPress or Google Analytics Plugin installed and configured for this to work.', 'pretty-link') ?></p>
85
- <?php
86
- global $prli_update;
87
- if($prli_update->pro_is_installed_and_authorized()):
88
- if($ga_info = PrliProUtils::ga_installed()):
89
- ?>
90
- <p class="description"><?php printf(__('It appears that <strong>%s</strong> is currently installed. Pretty Link will attempt to use its settings to track this link.', 'pretty-link'), $ga_info['name']); ?></p>
91
- <?php
92
- else:
93
- ?>
94
- <p class="description"><strong><?php _e('No Google Analytics Plugin is currently installed. Pretty Link cannot track links using Google Analytics until one is.', 'pretty-link'); ?></strong></p>
95
- <?php
96
- endif;
97
- endif;
98
- ?>
99
- </div>
100
  </div><br/>
101
  </td>
102
  </tr>
60
  <input type="checkbox" name="nofollow" <?php echo esc_html($values['nofollow']); ?>/>&nbsp; <?php _e("'Nofollow' this Link", 'pretty-link') ?>
61
  <p class="description"><?php _e('Add a nofollow and noindex to this link\'s http redirect header', 'pretty-link')?>
62
  </div>
63
+ <div id="prli_time_delay" style="display: none">
64
+ <br/>
65
+ <h3><?php _e('Delay Redirect (Seconds):', 'pretty-link'); ?></h3>
66
+ <div class="pane">
67
+ <input type="text" name="delay" value="<?php echo esc_attr($values['delay']); ?>" />
68
+ <p class="description"><?php _e('Time in seconds to wait before redirecting', 'pretty-link') ?></p>
69
+ </div>
70
+ </div>
71
  </td>
72
  <td valign="top" width="50%">
73
  <h3><?php _e("Parameter Forwarding", 'pretty-link') ?></h3>
79
  <div class="pane">
80
  <input type="checkbox" name="track_me" <?php echo esc_html($values['track_me']); ?>/>&nbsp; <?php _e("Track Hits on this Link", 'pretty-link') ?>
81
  <p class="description"><?php _e('Enable Pretty Link\'s built-in hit (click) tracking', 'pretty-link') ?></p>
82
+ <div id="prli_google_analytics" style="display: none">
83
+ <input type="checkbox" name="google_tracking" <?php echo esc_attr($values['google_tracking']); ?>/>&nbsp; <?php _e('Enable Google Analytics Tracking on this Link', 'pretty-link') ?>
84
+ <p class="description"><?php _e('Requires the Google Analyticator, Google Analytics for WordPress or Google Analytics Plugin installed and configured for this to work.', 'pretty-link') ?></p>
85
+ <?php
86
+ global $prli_update;
87
+ if($prli_update->pro_is_installed_and_authorized()):
88
+ if($ga_info = PrliProUtils::ga_installed()):
89
+ ?>
90
+ <p class="description"><?php printf(__('It appears that <strong>%s</strong> is currently installed. Pretty Link will attempt to use its settings to track this link.', 'pretty-link'), $ga_info['name']); ?></p>
91
+ <?php
92
+ else:
93
+ ?>
94
+ <p class="description"><strong><?php _e('No Google Analytics Plugin is currently installed. Pretty Link cannot track links using Google Analytics until one is.', 'pretty-link'); ?></strong></p>
95
+ <?php
96
+ endif;
97
+ endif;
98
+ ?>
99
+ </div>
100
  </div><br/>
101
  </td>
102
  </tr>
classes/views/prli-links/head.php DELETED
@@ -1,96 +0,0 @@
1
- <?php
2
- if(!defined('ABSPATH'))
3
- die('You are not allowed to call this page directly.');
4
- ?>
5
-
6
- <script type="text/javascript">
7
- jQuery(document).ready(function() {
8
- jQuery('.link_actions').hide();
9
- jQuery('.edit_link').hover(
10
- function() {
11
- jQuery(this).children(".link_actions").show();
12
- },
13
- function() {
14
- jQuery(this).children(".link_actions").hide();
15
- }
16
- );
17
-
18
- jQuery(".options-table").hide();
19
- jQuery(".options-table-toggle > .expand-options").show();
20
- jQuery(".options-table-toggle > .collapse-options").hide();
21
- jQuery(".options-table-toggle").click( function () {
22
- jQuery(this).children(".expand-options").toggle();
23
- jQuery(this).children(".collapse-options").toggle();
24
- jQuery(".expand-collapse").toggle();
25
- jQuery(".options-table").toggle();
26
- });
27
-
28
- jQuery(".toggle_pane").hide();
29
- jQuery(".toggle").click( function () {
30
- jQuery(this).next(".toggle_pane").toggle();
31
- });
32
- jQuery(".expand-all").click( function () {
33
- jQuery(".toggle_pane").show();
34
- jQuery(".expand-all").hide();
35
- jQuery(".collapse-all").show();
36
- });
37
- jQuery(".collapse-all").click( function () {
38
- jQuery(".toggle_pane").hide();
39
- jQuery(".expand-all").show();
40
- jQuery(".collapse-all").hide();
41
- });
42
- });
43
- </script>
44
-
45
- <style type="text/css">
46
-
47
- .options-table {
48
- width: 80%;
49
- margin-top: 10px;
50
- }
51
-
52
- .options-table td {
53
- padding: 10px;
54
- background-color: #f4f0db;
55
- }
56
-
57
- .options-table h3 {
58
- padding: 0px;
59
- margin: 0px;
60
- padding-left: 10px;
61
- }
62
-
63
- .expand-all, .collapse-all, .options-table-toggle {
64
- cursor: pointer;
65
- }
66
-
67
- .toggle {
68
- line-height: 34px;
69
- font-size: 12px;
70
- font-weight: bold;
71
- padding-bottom: 10px;
72
- cursor: pointer;
73
- }
74
-
75
- .pane {
76
- background-color: #f4f0db;
77
- padding-left: 10px;
78
- }
79
-
80
- ul.pane li {
81
- padding: 0px;
82
- margin: 0px;
83
- }
84
-
85
- .edit_link {
86
- height: 50px;
87
- }
88
-
89
- .slug_name {
90
- font-size: 12px;
91
- font-weight: bold;
92
- }
93
- .link_actions {
94
- padding-top: 5px;
95
- }
96
- </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/views/prli-links/list.php CHANGED
@@ -56,13 +56,11 @@ if(!defined('ABSPATH'))
56
  <?php
57
  }
58
  ?>
59
- <form class="form-fields link-list-form" name="link_list_form" method="post" action="">
60
- <input type="hidden" name="action" value="list-form"/>
61
  <?php $footer = false; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
62
- <table class="widefat post fixed" cellspacing="0">
63
  <thead>
64
  <tr>
65
- <th class="manage-column" width="30%"><?php do_action('prli-list-header-icon'); ?><a href="<?php echo admin_url('admin.php?page=pretty-link&sort=name' . (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':'')); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
66
  <?php do_action('prli_link_column_header'); ?>
67
  <th class="manage-column" width="10%"><a href="<?php echo admin_url('admin.php?page=pretty-link&sort=clicks' . (($sort_str == 'clicks' and $sdir_str == 'asc')?'&sdir=desc':'')); ?>">Hits / Uniq<?php echo (($sort_str == 'clicks')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
68
  <th class="manage-column" width="5%"><a href="<?php echo admin_url('admin.php?page=pretty-link&sort=group_name' . (($sort_str == 'group_name' and $sdir_str == 'asc')?'&sdir=desc':'')) ?>">Group<?php echo (($sort_str == 'group_name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
@@ -70,6 +68,45 @@ if(!defined('ABSPATH'))
70
  <th class="manage-column" width="20%"><a href="<?php echo admin_url('admin.php?page=pretty-link&sort=slug' . (($sort_str == 'slug' and $sdir_str == 'asc')?'&sdir=desc':'')); ?>">Links<?php echo (($sort_str == 'slug')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
71
  </tr>
72
  </thead>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  <?php
74
 
75
  if($record_count <= 0)
@@ -91,7 +128,9 @@ if(!defined('ABSPATH'))
91
  <tr class="link_row">
92
  <td class="edit_link">
93
 
 
94
  <?php do_action('prli_list_icon',$link->id); ?>
 
95
  <?php if( $link->redirect_type == 'prettybar' ) { ?>
96
  <img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-small.png'; ?>" title="Using PrettyBar" width="13px" height="13px" />
97
  <?php }
@@ -173,7 +212,9 @@ if(!defined('ABSPATH'))
173
  <td><a href="<?php echo admin_url( "admin.php?page=pretty-link&group={$link->group_id}"); ?>"><?php echo $link->group_name; ?></a></td>
174
  <td><?php echo $link->created_at; ?></td>
175
  </td>
176
- <td><input type='text' style="font-size: 10px; width: 100%;" readonly="true" onclick='this.select();' onfocus='this.select();' value='<?php echo $pretty_link_url; ?>' /><br/>
 
 
177
  <?php if( $link->redirect_type != 'pixel' )
178
  {
179
  ?>
@@ -198,6 +239,5 @@ if(!defined('ABSPATH'))
198
  </tfoot>
199
  </table>
200
  <?php $footer = true; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
201
- </form>
202
 
203
  </div>
56
  <?php
57
  }
58
  ?>
 
 
59
  <?php $footer = false; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
60
+ <table class="prli-edit-table widefat post fixed" cellspacing="0">
61
  <thead>
62
  <tr>
63
+ <th class="manage-column" width="30%"><input type="checkbox" name="check-all" class="select-all-link-action-checkboxes" style="margin-left: 1px;"/>&nbsp;&nbsp;<a href="<?php echo admin_url('admin.php?page=pretty-link&sort=name' . (($sort_str == 'name' and $sdir_str == 'asc')?'&sdir=desc':'')); ?>">Name<?php echo (($sort_str == 'name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
64
  <?php do_action('prli_link_column_header'); ?>
65
  <th class="manage-column" width="10%"><a href="<?php echo admin_url('admin.php?page=pretty-link&sort=clicks' . (($sort_str == 'clicks' and $sdir_str == 'asc')?'&sdir=desc':'')); ?>">Hits / Uniq<?php echo (($sort_str == 'clicks')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
66
  <th class="manage-column" width="5%"><a href="<?php echo admin_url('admin.php?page=pretty-link&sort=group_name' . (($sort_str == 'group_name' and $sdir_str == 'asc')?'&sdir=desc':'')) ?>">Group<?php echo (($sort_str == 'group_name')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
68
  <th class="manage-column" width="20%"><a href="<?php echo admin_url('admin.php?page=pretty-link&sort=slug' . (($sort_str == 'slug' and $sdir_str == 'asc')?'&sdir=desc':'')); ?>">Links<?php echo (($sort_str == 'slug')?'&nbsp;&nbsp;&nbsp;<img src="'.PRLI_IMAGES_URL . '/'.(($sdir_str == 'desc')?'arrow_down.png':'arrow_up.png').'"/>':'') ?></a></th>
69
  </tr>
70
  </thead>
71
+ <tr id="bulk-edit" class="inline-edit-row inline-edit-row-post inline-edit-post bulk-edit-row bulk-edit-row-post bulk-edit-post" style="display: none;">
72
+ <td class="colspanchange">
73
+ <form id="prli-bulk-action-form" action="<?php echo admin_url('admin.php'); ?>" method="post">
74
+ <input type="hidden" name="page" value="pretty-link" />
75
+ <input type="hidden" name="action" value="bulk-edit" />
76
+ <input type="hidden" name="_wpnonce" value="<?php echo wp_create_nonce('prli-bulk-edit'); ?>" />
77
+ <fieldset class="inline-edit-col-left">
78
+ <div class="inline-edit-col">
79
+ <h4><?php _e('Bulk Edit', 'pretty-link'); ?></h4>
80
+ <div id="bulk-title-div">
81
+ <div id="bulk-titles"></div>
82
+ </div>
83
+ </div>
84
+ </fieldset>
85
+ <fieldset class="inline-edit-col-center">
86
+ <h4><?php _e('Basic Link Options', 'pretty-link'); ?></h4>
87
+ <div class="bacheck-title"><?php _e('Redirect Type', 'pretty-link'); ?></div>
88
+ <?php PrliLinksHelper::redirect_type_dropdown( 'bu[redirect_type]', '', array(__('- No Change -', 'pretty-link') => '##nochange##'), 'bulk-edit-select' ) ?>
89
+ <br/>
90
+ <div class="bacheck-title"><?php _e('Group', 'pretty-link'); ?></div>
91
+ <?php PrliLinksHelper::groups_dropdown('bu[group_id]', '', array(__('- No Change -', 'pretty-link') => '##nochange##'), 'bulk-edit-select'); ?>
92
+ <br/>
93
+ <?php PrliLinksHelper::bulk_action_checkbox_dropdown('bu[track_me]', __('Track', 'pretty-link'), 'bulk-edit-select'); ?>
94
+ <br/>
95
+ <?php PrliLinksHelper::bulk_action_checkbox_dropdown('bu[nofollow]', __('Nofollow', 'pretty-link'), 'bulk-edit-select'); ?>
96
+ <br/>
97
+ <?php PrliLinksHelper::bulk_action_checkbox_dropdown('bu[param_forwarding]', __('Forward Params', 'pretty-link'), 'bulk-edit-select'); ?>
98
+ <br/>
99
+ </fieldset>
100
+ <fieldset class="inline-edit-col-right">
101
+ <?php do_action('prli_bulk_action_right_col'); ?>
102
+ </fieldset>
103
+ <p class="submit inline-edit-save">
104
+ <a href="javascript:" title="<?php _e('Cancel', 'pretty-link'); ?>" class="button-secondary bulk-edit-cancel alignleft"><?php _e('Cancel', 'pretty-link'); ?></a>
105
+ <a href="javascript:" title="<?php _e('Update', 'pretty-link'); ?>" class="button-primary bulk-edit-update alignright"><?php _e('Bulk Update', 'pretty-link'); ?></a><br class="clear">
106
+ </p>
107
+ </form>
108
+ </td>
109
+ </tr>
110
  <?php
111
 
112
  if($record_count <= 0)
128
  <tr class="link_row">
129
  <td class="edit_link">
130
 
131
+ <input type="checkbox" name="link-action[<?php echo $link->id; ?>]" class="link-action-checkbox" data-id="<?php echo $link->id; ?>" data-title="<?php echo stripslashes($link->name); ?>" />&nbsp;&nbsp;
132
  <?php do_action('prli_list_icon',$link->id); ?>
133
+
134
  <?php if( $link->redirect_type == 'prettybar' ) { ?>
135
  <img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-small.png'; ?>" title="Using PrettyBar" width="13px" height="13px" />
136
  <?php }
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
  ?>
239
  </tfoot>
240
  </table>
241
  <?php $footer = true; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
 
242
 
243
  </div>
classes/views/prli-links/ultra-cloak.php DELETED
@@ -1,17 +0,0 @@
1
- <?php
2
- if(!defined('ABSPATH'))
3
- die('You are not allowed to call this page directly.');
4
- ?>
5
-
6
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7
- <html>
8
- <head>
9
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
10
- <title><?php echo htmlspecialchars(stripslashes($pretty_link->name)); ?></title>
11
- <meta name="description" content="<?php echo stripslashes($pretty_link->description); ?>" />
12
- </head>
13
- <frameset rows="*" framespacing=0 frameborder=0>
14
- <frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
15
- <noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
16
- </frameset>
17
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/views/prli-options/form.php CHANGED
@@ -16,7 +16,7 @@ if(!$permalink_structure or empty($permalink_structure))
16
  }
17
  ?>
18
  <?php do_action('prli-options-message'); ?>
19
- <a href="admin.php?page=<?php echo PRLI_PLUGIN_NAME; ?>/prli-links.php">&laquo; Pretty Link Admin</a>
20
 
21
  <form name="form1" method="post" action="<?php echo admin_url("/admin.php?page=pretty-link/prli-options.php"); ?>">
22
  <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
@@ -122,4 +122,4 @@ if(!$permalink_structure or empty($permalink_structure))
122
  <br/><span class="description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
123
 
124
  </form>
125
- </div>
16
  }
17
  ?>
18
  <?php do_action('prli-options-message'); ?>
19
+ <a href="<?php echo admin_url("admin.php?page=pretty-link"); ?>">&laquo; Pretty Link Admin</a>
20
 
21
  <form name="form1" method="post" action="<?php echo admin_url("/admin.php?page=pretty-link/prli-options.php"); ?>">
22
  <input type="hidden" name="<?php echo $hidden_field_name; ?>" value="Y">
122
  <br/><span class="description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
123
 
124
  </form>
125
+ </div>
classes/views/shared/jsredirect.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ if(!defined('ABSPATH'))
3
+ die('You are not allowed to call this page directly.');
4
+ ?>
5
+ <script type="text/javascript">
6
+ window.location = '<?php echo esc_url_raw($redirect_url); ?>';
7
+ </script>
classes/views/shared/link-table-nav.php CHANGED
@@ -7,7 +7,6 @@ if(!defined('ABSPATH'))
7
  {
8
  ?>
9
  <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
10
- <?php do_action('prli-link-list-actions', $footer); ?>
11
  <div class='tablenav-pages'><span class="displaying-num">Displaying <?php echo "$page_first_record&#8211;$page_last_record of $record_count"; ?></span>
12
 
13
  <?php
@@ -15,7 +14,7 @@ if(!defined('ABSPATH'))
15
  if($current_page > 1)
16
  {
17
  ?>
18
- <a class='prev page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo ($current_page-1); ?>'>&laquo;</a>
19
  <?php
20
  }
21
 
@@ -29,7 +28,7 @@ if(!defined('ABSPATH'))
29
  else
30
  {
31
  ?>
32
- <a class='page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=1'>1</a>
33
  <?php
34
  }
35
 
@@ -55,7 +54,7 @@ if(!defined('ABSPATH'))
55
  else
56
  {
57
  ?>
58
- <a class='page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo $i; ?>'><?php echo $i; ?></a>
59
  <?php
60
  }
61
  }
@@ -78,7 +77,7 @@ if(!defined('ABSPATH'))
78
  else
79
  {
80
  ?>
81
- <a class='page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo $page_count; ?>'><?php echo $page_count; ?></a>
82
  <?php
83
  }
84
 
@@ -86,11 +85,20 @@ if(!defined('ABSPATH'))
86
  if($current_page < $page_count)
87
  {
88
  ?>
89
- <a class='next page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo ($current_page + 1); ?>'>&raquo;</a>
90
  <?php
91
  }
92
  ?>
 
 
 
 
 
 
93
  </div>
 
 
 
94
  </div>
95
  <?php
96
  }
@@ -98,7 +106,18 @@ if(!defined('ABSPATH'))
98
  {
99
  ?>
100
  <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
101
- <?php do_action('prli-link-list-actions', $footer); ?>
 
 
 
 
 
 
 
 
 
 
 
102
  </div>
103
  <?php
104
  }
7
  {
8
  ?>
9
  <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
 
10
  <div class='tablenav-pages'><span class="displaying-num">Displaying <?php echo "$page_first_record&#8211;$page_last_record of $record_count"; ?></span>
11
 
12
  <?php
14
  if($current_page > 1)
15
  {
16
  ?>
17
+ <a class='prev page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo ($current_page-1); ?>&size=<?php echo $_REQUEST['size']; ?>'>&laquo;</a>
18
  <?php
19
  }
20
 
28
  else
29
  {
30
  ?>
31
+ <a class='page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=1&size=<?php echo $_REQUEST['size']; ?>'>1</a>
32
  <?php
33
  }
34
 
54
  else
55
  {
56
  ?>
57
+ <a class='page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo $i; ?>&size=<?php echo $_REQUEST['size']; ?>'><?php echo $i; ?></a>
58
  <?php
59
  }
60
  }
77
  else
78
  {
79
  ?>
80
+ <a class='page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo $page_count; ?>&size=<?php echo $_REQUEST['size']; ?>'><?php echo $page_count; ?></a>
81
  <?php
82
  }
83
 
85
  if($current_page < $page_count)
86
  {
87
  ?>
88
+ <a class='next page-numbers' href='?page=<?php echo esc_html($_REQUEST['page'].$page_params); ?>&paged=<?php echo ($current_page + 1); ?>&size=<?php echo $_REQUEST['size']; ?>'>&raquo;</a>
89
  <?php
90
  }
91
  ?>
92
+ <select class="prli-page-size" onchange="location='<?php echo admin_url("admin.php?page=" . esc_html($_REQUEST['page'].$page_params) . "&paged=1&size='+this.options[this.selectedIndex].value"); ?>">
93
+ <option value="10" selected="selected">10</option>
94
+ <option value="25" <?php if($_REQUEST['size'] == 25) echo 'selected="selected"'; ?>>25</option>
95
+ <option value="50" <?php if($_REQUEST['size'] == 50) echo 'selected="selected"'; ?>>50</option>
96
+ <option value="100" <?php if($_REQUEST['size'] == 100) echo 'selected="selected"'; ?>>100&nbsp;</option>
97
+ </select>
98
  </div>
99
+ <?php if(!$footer): ?>
100
+ <?php PrliLinksHelper::bulk_action_dropdown(); ?>
101
+ <?php endif; ?>
102
  </div>
103
  <?php
104
  }
106
  {
107
  ?>
108
  <div class="tablenav"<?php echo (isset($navstyle)?" style=\"$navstyle\"":''); ?>>
109
+ <div class='tablenav-pages'>
110
+ <span class="displaying-num">Displaying <?php echo "$page_first_record&#8211;$page_last_record of $record_count"; ?></span>
111
+ <select class="prli-page-size" onchange="location='<?php echo admin_url("admin.php?page=" . esc_html($_REQUEST['page'].$page_params) . "&paged=1&size='+this.options[this.selectedIndex].value"); ?>">
112
+ <option value="10" selected="selected">10</option>
113
+ <option value="25" <?php if($_REQUEST['size'] == 25) echo 'selected="selected"'; ?>>25</option>
114
+ <option value="50" <?php if($_REQUEST['size'] == 50) echo 'selected="selected"'; ?>>50</option>
115
+ <option value="100" <?php if($_REQUEST['size'] == 100) echo 'selected="selected"'; ?>>100&nbsp;</option>
116
+ </select>
117
+ </div>
118
+ <?php if(!$footer): ?>
119
+ <?php PrliLinksHelper::bulk_action_dropdown(); ?>
120
+ <?php endif; ?>
121
  </div>
122
  <?php
123
  }
css/prli-admin-links.css CHANGED
@@ -34,4 +34,41 @@
34
  #add_group_message {
35
  padding-left: 5px;
36
  display: inline;
37
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  #add_group_message {
35
  padding-left: 5px;
36
  display: inline;
37
+ }
38
+
39
+ .prli-clipboard {
40
+ padding: 2px 0 2px 0;
41
+ width: 100px;
42
+ display: block;
43
+ }
44
+
45
+ #prli-bulk-action-form .title {
46
+ width: 100px !important;
47
+ }
48
+
49
+ #prli_bulk_action_dropdown {
50
+ padding-top: 2px;
51
+ float: left;
52
+ display: inline;
53
+ }
54
+
55
+ .bacheck-title {
56
+ display: inline-block;
57
+ width: 100px !important;
58
+ }
59
+
60
+ .inline-edit-col-left, .inline-edit-col-center, .inline-edit-col-right {
61
+ width: 33% !important;
62
+ }
63
+
64
+ /*
65
+ .keyword-replacements {
66
+ width: 45%;
67
+ clear: none !important;
68
+ }
69
+ */
70
+
71
+ .advanced-link-options {
72
+ width: 100%;
73
+ clear: none !important;
74
+ }
i18n/pretty-link.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Pretty Link Lite package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Pretty Link Lite 1.5.7\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/pretty-link\n"
7
- "POT-Creation-Date: 2012-03-06 06:35:53+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -37,6 +37,51 @@ msgstr ""
37
  msgid "No hits older than 90 days were found, so nothing was deleted"
38
  msgstr ""
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  #: classes/controllers/PrliAppController.php:33
41
  msgid ""
42
  "Database Upgrade is required for Pretty Link to work properly<br/>%1"
@@ -47,36 +92,40 @@ msgstr ""
47
  msgid "Your Database Has Been Successfully Upgraded."
48
  msgstr ""
49
 
50
- #: classes/controllers/PrliLinksController.php:3
51
- #: classes/controllers/PrliGroupsController.php:3
52
- msgid "You are not allowed to call this page directly."
53
- msgstr ""
54
-
55
- #: classes/controllers/PrliLinksController.php:51
56
  msgid "Links in Group: "
57
  msgstr ""
58
 
59
- #: classes/controllers/PrliLinksController.php:96
60
- #: classes/controllers/PrliLinksController.php:119
61
  msgid "Your Pretty Link was Successfully Created"
62
  msgstr ""
63
 
64
- #: classes/controllers/PrliLinksController.php:137
65
- msgid "Your Pretty Links were Successfully Updated"
66
  msgstr ""
67
 
68
- #: classes/controllers/PrliLinksController.php:162
69
- msgid "Your Pretty Link was Successfully Updated"
 
 
 
 
 
70
  msgstr ""
71
 
72
- #: classes/controllers/PrliLinksController.php:170
73
  msgid "Your Pretty Link was Successfully Reset"
74
  msgstr ""
75
 
76
- #: classes/controllers/PrliLinksController.php:177
77
  msgid "Your Pretty Link was Successfully Destroyed"
78
  msgstr ""
79
 
 
 
 
 
80
  #: classes/controllers/PrliGroupsController.php:17
81
  msgid "An unknown error occurred when creating your group."
82
  msgstr ""
@@ -206,24 +255,57 @@ msgstr ""
206
  msgid "Links"
207
  msgstr ""
208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  #: classes/views/prli-links/list.php:105
210
- msgid "Meta Refresh Redirection"
211
  msgstr ""
212
 
213
- #: classes/views/prli-links/list.php:108
214
- msgid "Javascript Redirection"
215
  msgstr ""
216
 
217
- #: classes/views/prli-links/form.php:5
218
- msgid "Redirection Type*:"
219
  msgstr ""
220
 
221
- #: classes/views/prli-links/form.php:8
222
- msgid "307 (Temporary)"
223
  msgstr ""
224
 
225
- #: classes/views/prli-links/form.php:9
226
- msgid "301 (Permanent)"
227
  msgstr ""
228
 
229
  #: classes/views/prli-links/form.php:16
@@ -244,15 +326,6 @@ msgstr ""
244
  msgid "Title:"
245
  msgstr ""
246
 
247
- #: classes/views/prli-links/form.php:41
248
- #: pro/classes/views/prli-links/form.php:62
249
- msgid "Group"
250
- msgstr ""
251
-
252
- #: classes/views/prli-links/form.php:44
253
- msgid "None"
254
- msgstr ""
255
-
256
  #: classes/views/prli-links/form.php:54
257
  msgid "Add a New Group"
258
  msgstr ""
@@ -354,6 +427,14 @@ msgstr ""
354
  msgid "Add a Pretty Link from your Dashboard:"
355
  msgstr ""
356
 
 
 
 
 
 
 
 
 
357
  #: classes/views/shared/nav.php:8
358
  msgid "Pro Manual"
359
  msgstr ""
@@ -464,12 +545,12 @@ msgstr ""
464
  msgid "There was an error fetching your Pretty Link URL"
465
  msgstr ""
466
 
467
- #: prli-main.php:20
468
- msgid "Pretty Link | Manage Pretty Links"
469
  msgstr ""
470
 
471
  #: prli-main.php:20
472
- msgid "Pretty Link"
473
  msgstr ""
474
 
475
  #: prli-main.php:21
@@ -480,7 +561,7 @@ msgstr ""
480
  msgid "Add New Link"
481
  msgstr ""
482
 
483
- #: prli-main.php:355 prli-main.php:374
484
  msgid ""
485
  "Your Pretty Link Pro installation isn't quite complete yet.<br/>%1"
486
  "$sAutomatically Upgrade to Enable Pretty Link Pro%2$s"
@@ -520,174 +601,174 @@ msgstr ""
520
  msgid "Delay Redirect must be a number"
521
  msgstr ""
522
 
523
- #: pro/pretty-link-pro.php:1011
524
  msgid "This Link Has additional Target URL rotations"
525
  msgstr ""
526
 
527
- #: pro/pretty-link-pro.php:1589
528
  msgid "Alternate Pretty Bar Attribution URL:"
529
  msgstr ""
530
 
531
- #: pro/pretty-link-pro.php:1682
532
  msgid "End-Point URL:"
533
  msgstr ""
534
 
535
- #: pro/pretty-link-pro.php:1683
536
  msgid "This can be used to integrate with your twitter client."
537
  msgstr ""
538
 
539
- #: pro/pretty-link-pro.php:1686
540
  msgid "Show TweetDeck Integration Instructions"
541
  msgstr ""
542
 
543
- #: pro/pretty-link-pro.php:1688 pro/pretty-link-pro.php:1694
544
  msgid "Follow the"
545
  msgstr ""
546
 
547
- #: pro/pretty-link-pro.php:1688
548
  msgid "TweetDeck Custom URL Instructions"
549
  msgstr ""
550
 
551
- #: pro/pretty-link-pro.php:1688
552
  msgid " and add the following URL to TweetDeck"
553
  msgstr ""
554
 
555
- #: pro/pretty-link-pro.php:1692
556
  msgid "Show Twitter for iPhone Integration Instructions"
557
  msgstr ""
558
 
559
- #: pro/pretty-link-pro.php:1694
560
  msgid "Twitter for iPhone Custom URL Instructions"
561
  msgstr ""
562
 
563
- #: pro/pretty-link-pro.php:1694
564
  msgid " and add the following URL to Twitter for iPhone"
565
  msgstr ""
566
 
567
- #: pro/pretty-link-pro.php:1704
568
  msgid "Label:"
569
  msgstr ""
570
 
571
- #: pro/pretty-link-pro.php:1709 pro/prlipro-create-public-link-widget.php:46
572
  msgid "Redirection:"
573
  msgstr ""
574
 
575
- #: pro/pretty-link-pro.php:1720 pro/prlipro-create-public-link-widget.php:57
576
  msgid "Tracking Enabled:"
577
  msgstr ""
578
 
579
- #: pro/pretty-link-pro.php:1729 pro/prlipro-create-public-link-widget.php:66
580
  msgid "Group:"
581
  msgstr ""
582
 
583
- #: pro/pretty-link-pro.php:1835 pro/pretty-link-pro.php:1875
584
  msgid "There was an error saving your Twitter account."
585
  msgstr ""
586
 
587
- #: pro/pretty-link-pro.php:1871
588
  msgid "Your Twitter Account was successfully saved."
589
  msgstr ""
590
 
591
- #: pro/pretty-link-pro.php:1889 pro/pretty-link-pro.php:1967
592
  msgid "Pretty Bar"
593
  msgstr ""
594
 
595
- #: pro/pretty-link-pro.php:1890
596
  msgid "Cloaked"
597
  msgstr ""
598
 
599
- #: pro/pretty-link-pro.php:1891 pro/pretty-link-pro.php:1969
600
  msgid "Pixel"
601
  msgstr ""
602
 
603
- #: pro/pretty-link-pro.php:1892 pro/pretty-link-pro.php:1970
604
  msgid "Meta Refresh"
605
  msgstr ""
606
 
607
- #: pro/pretty-link-pro.php:1893 pro/pretty-link-pro.php:1971
608
  msgid "Javascript"
609
  msgstr ""
610
 
611
- #: pro/pretty-link-pro.php:1968
612
  msgid "Cloak"
613
  msgstr ""
614
 
615
- #: pro/pretty-link-pro.php:1999
616
  msgid "Image URL:"
617
  msgstr ""
618
 
619
- #: pro/pretty-link-pro.php:2002
620
  msgid ""
621
  "If set, this will replace the logo image on the PrettyBar. The image that "
622
  "this URL references should be 48x48 Pixels to fit."
623
  msgstr ""
624
 
625
- #: pro/pretty-link-pro.php:2006
626
  msgid "Background Image URL:"
627
  msgstr ""
628
 
629
- #: pro/pretty-link-pro.php:2009
630
  msgid ""
631
  "If set, this will replace the background image on PrettyBar. The image that "
632
  "this URL references should be 65px tall - this image will be repeated "
633
  "horizontally across the bar."
634
  msgstr ""
635
 
636
- #: pro/pretty-link-pro.php:2013
637
  msgid "Background Color:"
638
  msgstr ""
639
 
640
- #: pro/pretty-link-pro.php:2016
641
  msgid ""
642
  "This will alter the background color of the PrettyBar if you haven't "
643
  "specified a PrettyBar background image."
644
  msgstr ""
645
 
646
- #: pro/pretty-link-pro.php:2020
647
  msgid "Text Color:"
648
  msgstr ""
649
 
650
- #: pro/pretty-link-pro.php:2023
651
  msgid ""
652
  "If not set, this defaults to black (RGB value <code>#000000</code>) but you "
653
  "can change it to whatever color you like."
654
  msgstr ""
655
 
656
- #: pro/pretty-link-pro.php:2027
657
  msgid "Link Color:"
658
  msgstr ""
659
 
660
- #: pro/pretty-link-pro.php:2030
661
  msgid ""
662
  "If not set, this defaults to blue (RGB value <code>#0000ee</code>) but you "
663
  "can change it to whatever color you like."
664
  msgstr ""
665
 
666
- #: pro/pretty-link-pro.php:2034
667
  msgid "Link Hover Color:"
668
  msgstr ""
669
 
670
- #: pro/pretty-link-pro.php:2037
671
  msgid ""
672
  "If not set, this defaults to RGB value <code>#ababab</code> but you can "
673
  "change it to whatever color you like."
674
  msgstr ""
675
 
676
- #: pro/pretty-link-pro.php:2041
677
  msgid "Visited Link Color:"
678
  msgstr ""
679
 
680
- #: pro/pretty-link-pro.php:2044
681
  msgid ""
682
  "If not set, this defaults to RGB value <code>#551a8b</code> but you can "
683
  "change it to whatever color you like."
684
  msgstr ""
685
 
686
- #: pro/pretty-link-pro.php:2048
687
  msgid "Title Char Limit*:"
688
  msgstr ""
689
 
690
- #: pro/pretty-link-pro.php:2051
691
  msgid ""
692
  "If your Website has a long title then you may need to adjust this value so "
693
  "that it will all fit on the PrettyBar. It is recommended that you keep this "
@@ -695,11 +776,11 @@ msgid ""
695
  "good across different browsers and screen resolutions."
696
  msgstr ""
697
 
698
- #: pro/pretty-link-pro.php:2055
699
  msgid "Description Char Limit*:"
700
  msgstr ""
701
 
702
- #: pro/pretty-link-pro.php:2058
703
  msgid ""
704
  "If your Website has a long Description (tagline) then you may need to adjust "
705
  "this value so that it will all fit on the PrettyBar. It is recommended that "
@@ -707,118 +788,118 @@ msgid ""
707
  "format looks good across different browsers and screen resolutions."
708
  msgstr ""
709
 
710
- #: pro/pretty-link-pro.php:2062
711
  msgid "Target URL Char Limit*:"
712
  msgstr ""
713
 
714
- #: pro/pretty-link-pro.php:2065
715
  msgid ""
716
  "If you link to a lot of large Target URLs you may want to adjust this value. "
717
  "It is recommended that you keep this value to <code>40</code> or below so "
718
  "the PrettyBar's format looks good across different browsers and URL sizes"
719
  msgstr ""
720
 
721
- #: pro/pretty-link-pro.php:2070
722
  msgid "Show Pretty Bar Title"
723
  msgstr ""
724
 
725
- #: pro/pretty-link-pro.php:2071
726
  msgid ""
727
  "Make sure this is checked if you want the title of your blog (and link) to "
728
  "show up on the PrettyBar."
729
  msgstr ""
730
 
731
- #: pro/pretty-link-pro.php:2076
732
  msgid "Show Pretty Bar Description"
733
  msgstr ""
734
 
735
- #: pro/pretty-link-pro.php:2077
736
  msgid ""
737
  "Make sure this is checked if you want your site description to show up on "
738
  "the PrettyBar."
739
  msgstr ""
740
 
741
- #: pro/pretty-link-pro.php:2082
742
  msgid "Show Pretty Bar Share Links"
743
  msgstr ""
744
 
745
- #: pro/pretty-link-pro.php:2083
746
  msgid ""
747
  "Make sure this is checked if you want \"share links\" to show up on the "
748
  "PrettyBar."
749
  msgstr ""
750
 
751
- #: pro/pretty-link-pro.php:2088
752
  msgid "Show Pretty Bar Target URL"
753
  msgstr ""
754
 
755
- #: pro/pretty-link-pro.php:2089
756
  msgid ""
757
  "Make sure this is checked if you want a link displaying the Target URL to "
758
  "show up on the PrettyBar."
759
  msgstr ""
760
 
761
- #: pro/pretty-link-pro.php:2119
762
  msgid "Logo Image URL must be a correctly formatted URL"
763
  msgstr ""
764
 
765
- #: pro/pretty-link-pro.php:2122
766
  msgid "Background Image URL must be a correctly formatted URL"
767
  msgstr ""
768
 
769
- #: pro/pretty-link-pro.php:2125
770
  msgid "PrettyBar Background Color must be an actual RGB Value"
771
  msgstr ""
772
 
773
- #: pro/pretty-link-pro.php:2128
774
  msgid "PrettyBar Text Color must be an actual RGB Value"
775
  msgstr ""
776
 
777
- #: pro/pretty-link-pro.php:2131
778
  msgid "PrettyBar Link Color must be an actual RGB Value"
779
  msgstr ""
780
 
781
- #: pro/pretty-link-pro.php:2134 pro/pretty-link-pro.php:2137
782
  msgid "PrettyBar Hover Color must be an actual RGB Value"
783
  msgstr ""
784
 
785
- #: pro/pretty-link-pro.php:2140
786
  msgid "PrettyBar Title Character Limit must not be blank"
787
  msgstr ""
788
 
789
- #: pro/pretty-link-pro.php:2143
790
  msgid "PrettyBar Description Character Limit must not be blank"
791
  msgstr ""
792
 
793
- #: pro/pretty-link-pro.php:2146
794
  msgid "PrettyBar Link Character Limit must not be blank"
795
  msgstr ""
796
 
797
- #: pro/pretty-link-pro.php:2149
798
  msgid "PrettyBar Title Character Limit must be a number"
799
  msgstr ""
800
 
801
- #: pro/pretty-link-pro.php:2152
802
  msgid "PrettyBar Description Character Limit must be a number"
803
  msgstr ""
804
 
805
- #: pro/pretty-link-pro.php:2155
806
  msgid "PrettyBar Link Character Limit must be a number"
807
  msgstr ""
808
 
809
- #: pro/pretty-link-pro.php:2278
810
  msgid "You are unauthorized to view this resource"
811
  msgstr ""
812
 
813
- #: pro/pretty-link-pro.php:2308
814
  msgid "View QR Code for this link: %s"
815
  msgstr ""
816
 
817
- #: pro/pretty-link-pro.php:2316
818
  msgid "Download QR Code for this link: %s"
819
  msgstr ""
820
 
821
- #: pro/pretty-link-pro.php:2410
822
  msgid "Double Redirection Enabled"
823
  msgstr ""
824
 
@@ -907,8 +988,17 @@ msgid ""
907
  "automatically download a %sQR Code%s for each individual Pretty Link."
908
  msgstr ""
909
 
 
 
 
 
910
  #: pro/classes/views/prli-links/bulk-edit.php:7
911
- msgid "Bulk Edit Links"
 
 
 
 
 
912
  msgstr ""
913
 
914
  #: pro/classes/views/prlipro-import-export/form.php:7
@@ -1001,6 +1091,10 @@ msgstr ""
1001
  msgid "Link Split-Test Report"
1002
  msgstr ""
1003
 
 
 
 
 
1004
  #: pro/classes/views/prli-reports/edit.php:7
1005
  msgid "Edit Link Report"
1006
  msgstr ""
@@ -1013,10 +1107,6 @@ msgstr ""
1013
  msgid "Google Analytics for WordPress"
1014
  msgstr ""
1015
 
1016
- #: pro/classes/models/PrliProUtils.php:276
1017
- msgid "Google Analytics"
1018
- msgstr ""
1019
-
1020
  #. Plugin Name of the plugin/theme
1021
  msgid "Pretty Link Lite"
1022
  msgstr ""
2
  # This file is distributed under the same license as the Pretty Link Lite package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Pretty Link Lite 1.5.9\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/pretty-link\n"
7
+ "POT-Creation-Date: 2012-03-21 15:58:26+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
37
  msgid "No hits older than 90 days were found, so nothing was deleted"
38
  msgstr ""
39
 
40
+ #: classes/helpers/PrliLinksHelper.php:14 classes/views/prli-links/form.php:44
41
+ msgid "None"
42
+ msgstr ""
43
+
44
+ #: classes/helpers/PrliLinksHelper.php:38 classes/views/prli-links/form.php:8
45
+ msgid "307 (Temporary)"
46
+ msgstr ""
47
+
48
+ #: classes/helpers/PrliLinksHelper.php:39 classes/views/prli-links/form.php:9
49
+ msgid "301 (Permanent)"
50
+ msgstr ""
51
+
52
+ #: classes/helpers/PrliLinksHelper.php:49
53
+ msgid "Bulk Actions"
54
+ msgstr ""
55
+
56
+ #: classes/helpers/PrliLinksHelper.php:50
57
+ msgid "Edit"
58
+ msgstr ""
59
+
60
+ #: classes/helpers/PrliLinksHelper.php:51
61
+ msgid "Delete"
62
+ msgstr ""
63
+
64
+ #: classes/helpers/PrliLinksHelper.php:53
65
+ msgid "Are you sure you want to delete the selected links?"
66
+ msgstr ""
67
+
68
+ #: classes/helpers/PrliLinksHelper.php:53
69
+ msgid "Apply"
70
+ msgstr ""
71
+
72
+ #: classes/helpers/PrliLinksHelper.php:63 classes/views/prli-links/list.php:88
73
+ #: classes/views/prli-links/list.php:91
74
+ msgid "- No Change -"
75
+ msgstr ""
76
+
77
+ #: classes/helpers/PrliLinksHelper.php:64
78
+ msgid "Off"
79
+ msgstr ""
80
+
81
+ #: classes/helpers/PrliLinksHelper.php:65
82
+ msgid "On"
83
+ msgstr ""
84
+
85
  #: classes/controllers/PrliAppController.php:33
86
  msgid ""
87
  "Database Upgrade is required for Pretty Link to work properly<br/>%1"
92
  msgid "Your Database Has Been Successfully Upgraded."
93
  msgstr ""
94
 
95
+ #: classes/controllers/PrliLinksController.php:65
 
 
 
 
 
96
  msgid "Links in Group: "
97
  msgstr ""
98
 
99
+ #: classes/controllers/PrliLinksController.php:110
100
+ #: classes/controllers/PrliLinksController.php:133
101
  msgid "Your Pretty Link was Successfully Created"
102
  msgstr ""
103
 
104
+ #: classes/controllers/PrliLinksController.php:168
105
+ msgid "Your Pretty Link was Successfully Updated"
106
  msgstr ""
107
 
108
+ #: classes/controllers/PrliLinksController.php:183
109
+ msgid "Your links were updated successfully"
110
+ msgstr ""
111
+
112
+ #: classes/controllers/PrliLinksController.php:200
113
+ #: classes/controllers/PrliLinksController.php:239
114
+ msgid "You are unauthorized to view this page."
115
  msgstr ""
116
 
117
+ #: classes/controllers/PrliLinksController.php:206
118
  msgid "Your Pretty Link was Successfully Reset"
119
  msgstr ""
120
 
121
+ #: classes/controllers/PrliLinksController.php:213
122
  msgid "Your Pretty Link was Successfully Destroyed"
123
  msgstr ""
124
 
125
+ #: classes/controllers/PrliLinksController.php:226
126
+ msgid "Your links were deleted successfully"
127
+ msgstr ""
128
+
129
  #: classes/controllers/PrliGroupsController.php:17
130
  msgid "An unknown error occurred when creating your group."
131
  msgstr ""
255
  msgid "Links"
256
  msgstr ""
257
 
258
+ #: classes/views/prli-links/list.php:79
259
+ msgid "Bulk Edit"
260
+ msgstr ""
261
+
262
+ #: classes/views/prli-links/list.php:86
263
+ msgid "Basic Link Options"
264
+ msgstr ""
265
+
266
+ #: classes/views/prli-links/list.php:87
267
+ msgid "Redirect Type"
268
+ msgstr ""
269
+
270
+ #: classes/views/prli-links/list.php:90 classes/views/prli-links/form.php:41
271
+ #: pro/classes/views/prli-links/form.php:62
272
+ msgid "Group"
273
+ msgstr ""
274
+
275
+ #: classes/views/prli-links/list.php:93
276
+ msgid "Track"
277
+ msgstr ""
278
+
279
+ #: classes/views/prli-links/list.php:95
280
+ msgid "Nofollow"
281
+ msgstr ""
282
+
283
+ #: classes/views/prli-links/list.php:97
284
+ msgid "Forward Params"
285
+ msgstr ""
286
+
287
+ #: classes/views/prli-links/list.php:104
288
+ msgid "Cancel"
289
+ msgstr ""
290
+
291
  #: classes/views/prli-links/list.php:105
292
+ msgid "Update"
293
  msgstr ""
294
 
295
+ #: classes/views/prli-links/list.php:105
296
+ msgid "Bulk Update"
297
  msgstr ""
298
 
299
+ #: classes/views/prli-links/list.php:144
300
+ msgid "Meta Refresh Redirection"
301
  msgstr ""
302
 
303
+ #: classes/views/prli-links/list.php:147
304
+ msgid "Javascript Redirection"
305
  msgstr ""
306
 
307
+ #: classes/views/prli-links/form.php:5
308
+ msgid "Redirection Type*:"
309
  msgstr ""
310
 
311
  #: classes/views/prli-links/form.php:16
326
  msgid "Title:"
327
  msgstr ""
328
 
 
 
 
 
 
 
 
 
 
329
  #: classes/views/prli-links/form.php:54
330
  msgid "Add a New Group"
331
  msgstr ""
427
  msgid "Add a Pretty Link from your Dashboard:"
428
  msgstr ""
429
 
430
+ #: classes/views/prli-dashboard-widget/widget.php:11
431
+ msgid "Target URL"
432
+ msgstr ""
433
+
434
+ #: classes/views/prli-dashboard-widget/widget.php:15 prli-main.php:20
435
+ msgid "Pretty Link"
436
+ msgstr ""
437
+
438
  #: classes/views/shared/nav.php:8
439
  msgid "Pro Manual"
440
  msgstr ""
545
  msgid "There was an error fetching your Pretty Link URL"
546
  msgstr ""
547
 
548
+ #: prli-bookmarklet.php:33
549
+ msgid "Here's your Pretty Link"
550
  msgstr ""
551
 
552
  #: prli-main.php:20
553
+ msgid "Pretty Link | Manage Pretty Links"
554
  msgstr ""
555
 
556
  #: prli-main.php:21
561
  msgid "Add New Link"
562
  msgstr ""
563
 
564
+ #: prli-main.php:357 prli-main.php:376
565
  msgid ""
566
  "Your Pretty Link Pro installation isn't quite complete yet.<br/>%1"
567
  "$sAutomatically Upgrade to Enable Pretty Link Pro%2$s"
601
  msgid "Delay Redirect must be a number"
602
  msgstr ""
603
 
604
+ #: pro/pretty-link-pro.php:1007
605
  msgid "This Link Has additional Target URL rotations"
606
  msgstr ""
607
 
608
+ #: pro/pretty-link-pro.php:1405
609
  msgid "Alternate Pretty Bar Attribution URL:"
610
  msgstr ""
611
 
612
+ #: pro/pretty-link-pro.php:1498
613
  msgid "End-Point URL:"
614
  msgstr ""
615
 
616
+ #: pro/pretty-link-pro.php:1499
617
  msgid "This can be used to integrate with your twitter client."
618
  msgstr ""
619
 
620
+ #: pro/pretty-link-pro.php:1502
621
  msgid "Show TweetDeck Integration Instructions"
622
  msgstr ""
623
 
624
+ #: pro/pretty-link-pro.php:1504 pro/pretty-link-pro.php:1510
625
  msgid "Follow the"
626
  msgstr ""
627
 
628
+ #: pro/pretty-link-pro.php:1504
629
  msgid "TweetDeck Custom URL Instructions"
630
  msgstr ""
631
 
632
+ #: pro/pretty-link-pro.php:1504
633
  msgid " and add the following URL to TweetDeck"
634
  msgstr ""
635
 
636
+ #: pro/pretty-link-pro.php:1508
637
  msgid "Show Twitter for iPhone Integration Instructions"
638
  msgstr ""
639
 
640
+ #: pro/pretty-link-pro.php:1510
641
  msgid "Twitter for iPhone Custom URL Instructions"
642
  msgstr ""
643
 
644
+ #: pro/pretty-link-pro.php:1510
645
  msgid " and add the following URL to Twitter for iPhone"
646
  msgstr ""
647
 
648
+ #: pro/pretty-link-pro.php:1520
649
  msgid "Label:"
650
  msgstr ""
651
 
652
+ #: pro/pretty-link-pro.php:1525 pro/prlipro-create-public-link-widget.php:46
653
  msgid "Redirection:"
654
  msgstr ""
655
 
656
+ #: pro/pretty-link-pro.php:1536 pro/prlipro-create-public-link-widget.php:57
657
  msgid "Tracking Enabled:"
658
  msgstr ""
659
 
660
+ #: pro/pretty-link-pro.php:1545 pro/prlipro-create-public-link-widget.php:66
661
  msgid "Group:"
662
  msgstr ""
663
 
664
+ #: pro/pretty-link-pro.php:1651 pro/pretty-link-pro.php:1691
665
  msgid "There was an error saving your Twitter account."
666
  msgstr ""
667
 
668
+ #: pro/pretty-link-pro.php:1687
669
  msgid "Your Twitter Account was successfully saved."
670
  msgstr ""
671
 
672
+ #: pro/pretty-link-pro.php:1705 pro/pretty-link-pro.php:1783
673
  msgid "Pretty Bar"
674
  msgstr ""
675
 
676
+ #: pro/pretty-link-pro.php:1706
677
  msgid "Cloaked"
678
  msgstr ""
679
 
680
+ #: pro/pretty-link-pro.php:1707 pro/pretty-link-pro.php:1785
681
  msgid "Pixel"
682
  msgstr ""
683
 
684
+ #: pro/pretty-link-pro.php:1708 pro/pretty-link-pro.php:1786
685
  msgid "Meta Refresh"
686
  msgstr ""
687
 
688
+ #: pro/pretty-link-pro.php:1709 pro/pretty-link-pro.php:1787
689
  msgid "Javascript"
690
  msgstr ""
691
 
692
+ #: pro/pretty-link-pro.php:1784
693
  msgid "Cloak"
694
  msgstr ""
695
 
696
+ #: pro/pretty-link-pro.php:1815
697
  msgid "Image URL:"
698
  msgstr ""
699
 
700
+ #: pro/pretty-link-pro.php:1818
701
  msgid ""
702
  "If set, this will replace the logo image on the PrettyBar. The image that "
703
  "this URL references should be 48x48 Pixels to fit."
704
  msgstr ""
705
 
706
+ #: pro/pretty-link-pro.php:1822
707
  msgid "Background Image URL:"
708
  msgstr ""
709
 
710
+ #: pro/pretty-link-pro.php:1825
711
  msgid ""
712
  "If set, this will replace the background image on PrettyBar. The image that "
713
  "this URL references should be 65px tall - this image will be repeated "
714
  "horizontally across the bar."
715
  msgstr ""
716
 
717
+ #: pro/pretty-link-pro.php:1829
718
  msgid "Background Color:"
719
  msgstr ""
720
 
721
+ #: pro/pretty-link-pro.php:1832
722
  msgid ""
723
  "This will alter the background color of the PrettyBar if you haven't "
724
  "specified a PrettyBar background image."
725
  msgstr ""
726
 
727
+ #: pro/pretty-link-pro.php:1836
728
  msgid "Text Color:"
729
  msgstr ""
730
 
731
+ #: pro/pretty-link-pro.php:1839
732
  msgid ""
733
  "If not set, this defaults to black (RGB value <code>#000000</code>) but you "
734
  "can change it to whatever color you like."
735
  msgstr ""
736
 
737
+ #: pro/pretty-link-pro.php:1843
738
  msgid "Link Color:"
739
  msgstr ""
740
 
741
+ #: pro/pretty-link-pro.php:1846
742
  msgid ""
743
  "If not set, this defaults to blue (RGB value <code>#0000ee</code>) but you "
744
  "can change it to whatever color you like."
745
  msgstr ""
746
 
747
+ #: pro/pretty-link-pro.php:1850
748
  msgid "Link Hover Color:"
749
  msgstr ""
750
 
751
+ #: pro/pretty-link-pro.php:1853
752
  msgid ""
753
  "If not set, this defaults to RGB value <code>#ababab</code> but you can "
754
  "change it to whatever color you like."
755
  msgstr ""
756
 
757
+ #: pro/pretty-link-pro.php:1857
758
  msgid "Visited Link Color:"
759
  msgstr ""
760
 
761
+ #: pro/pretty-link-pro.php:1860
762
  msgid ""
763
  "If not set, this defaults to RGB value <code>#551a8b</code> but you can "
764
  "change it to whatever color you like."
765
  msgstr ""
766
 
767
+ #: pro/pretty-link-pro.php:1864
768
  msgid "Title Char Limit*:"
769
  msgstr ""
770
 
771
+ #: pro/pretty-link-pro.php:1867
772
  msgid ""
773
  "If your Website has a long title then you may need to adjust this value so "
774
  "that it will all fit on the PrettyBar. It is recommended that you keep this "
776
  "good across different browsers and screen resolutions."
777
  msgstr ""
778
 
779
+ #: pro/pretty-link-pro.php:1871
780
  msgid "Description Char Limit*:"
781
  msgstr ""
782
 
783
+ #: pro/pretty-link-pro.php:1874
784
  msgid ""
785
  "If your Website has a long Description (tagline) then you may need to adjust "
786
  "this value so that it will all fit on the PrettyBar. It is recommended that "
788
  "format looks good across different browsers and screen resolutions."
789
  msgstr ""
790
 
791
+ #: pro/pretty-link-pro.php:1878
792
  msgid "Target URL Char Limit*:"
793
  msgstr ""
794
 
795
+ #: pro/pretty-link-pro.php:1881
796
  msgid ""
797
  "If you link to a lot of large Target URLs you may want to adjust this value. "
798
  "It is recommended that you keep this value to <code>40</code> or below so "
799
  "the PrettyBar's format looks good across different browsers and URL sizes"
800
  msgstr ""
801
 
802
+ #: pro/pretty-link-pro.php:1886
803
  msgid "Show Pretty Bar Title"
804
  msgstr ""
805
 
806
+ #: pro/pretty-link-pro.php:1887
807
  msgid ""
808
  "Make sure this is checked if you want the title of your blog (and link) to "
809
  "show up on the PrettyBar."
810
  msgstr ""
811
 
812
+ #: pro/pretty-link-pro.php:1892
813
  msgid "Show Pretty Bar Description"
814
  msgstr ""
815
 
816
+ #: pro/pretty-link-pro.php:1893
817
  msgid ""
818
  "Make sure this is checked if you want your site description to show up on "
819
  "the PrettyBar."
820
  msgstr ""
821
 
822
+ #: pro/pretty-link-pro.php:1898
823
  msgid "Show Pretty Bar Share Links"
824
  msgstr ""
825
 
826
+ #: pro/pretty-link-pro.php:1899
827
  msgid ""
828
  "Make sure this is checked if you want \"share links\" to show up on the "
829
  "PrettyBar."
830
  msgstr ""
831
 
832
+ #: pro/pretty-link-pro.php:1904
833
  msgid "Show Pretty Bar Target URL"
834
  msgstr ""
835
 
836
+ #: pro/pretty-link-pro.php:1905
837
  msgid ""
838
  "Make sure this is checked if you want a link displaying the Target URL to "
839
  "show up on the PrettyBar."
840
  msgstr ""
841
 
842
+ #: pro/pretty-link-pro.php:1935
843
  msgid "Logo Image URL must be a correctly formatted URL"
844
  msgstr ""
845
 
846
+ #: pro/pretty-link-pro.php:1938
847
  msgid "Background Image URL must be a correctly formatted URL"
848
  msgstr ""
849
 
850
+ #: pro/pretty-link-pro.php:1941
851
  msgid "PrettyBar Background Color must be an actual RGB Value"
852
  msgstr ""
853
 
854
+ #: pro/pretty-link-pro.php:1944
855
  msgid "PrettyBar Text Color must be an actual RGB Value"
856
  msgstr ""
857
 
858
+ #: pro/pretty-link-pro.php:1947
859
  msgid "PrettyBar Link Color must be an actual RGB Value"
860
  msgstr ""
861
 
862
+ #: pro/pretty-link-pro.php:1950 pro/pretty-link-pro.php:1953
863
  msgid "PrettyBar Hover Color must be an actual RGB Value"
864
  msgstr ""
865
 
866
+ #: pro/pretty-link-pro.php:1956
867
  msgid "PrettyBar Title Character Limit must not be blank"
868
  msgstr ""
869
 
870
+ #: pro/pretty-link-pro.php:1959
871
  msgid "PrettyBar Description Character Limit must not be blank"
872
  msgstr ""
873
 
874
+ #: pro/pretty-link-pro.php:1962
875
  msgid "PrettyBar Link Character Limit must not be blank"
876
  msgstr ""
877
 
878
+ #: pro/pretty-link-pro.php:1965
879
  msgid "PrettyBar Title Character Limit must be a number"
880
  msgstr ""
881
 
882
+ #: pro/pretty-link-pro.php:1968
883
  msgid "PrettyBar Description Character Limit must be a number"
884
  msgstr ""
885
 
886
+ #: pro/pretty-link-pro.php:1971
887
  msgid "PrettyBar Link Character Limit must be a number"
888
  msgstr ""
889
 
890
+ #: pro/pretty-link-pro.php:2094
891
  msgid "You are unauthorized to view this resource"
892
  msgstr ""
893
 
894
+ #: pro/pretty-link-pro.php:2124
895
  msgid "View QR Code for this link: %s"
896
  msgstr ""
897
 
898
+ #: pro/pretty-link-pro.php:2132
899
  msgid "Download QR Code for this link: %s"
900
  msgstr ""
901
 
902
+ #: pro/pretty-link-pro.php:2226
903
  msgid "Double Redirection Enabled"
904
  msgstr ""
905
 
988
  "automatically download a %sQR Code%s for each individual Pretty Link."
989
  msgstr ""
990
 
991
+ #: pro/classes/views/prli-links/bulk-edit.php:6
992
+ msgid "Advanced Link Options"
993
+ msgstr ""
994
+
995
  #: pro/classes/views/prli-links/bulk-edit.php:7
996
+ msgid "Double Redirect"
997
+ msgstr ""
998
+
999
+ #: pro/classes/views/prli-links/bulk-edit.php:12
1000
+ #: pro/classes/models/PrliProUtils.php:276
1001
+ msgid "Google Analytics"
1002
  msgstr ""
1003
 
1004
  #: pro/classes/views/prlipro-import-export/form.php:7
1091
  msgid "Link Split-Test Report"
1092
  msgstr ""
1093
 
1094
+ #: pro/classes/views/prli-reports/split-test-report.php:12
1095
+ msgid "Back to Links"
1096
+ msgstr ""
1097
+
1098
  #: pro/classes/views/prli-reports/edit.php:7
1099
  msgid "Edit Link Report"
1100
  msgstr ""
1107
  msgid "Google Analytics for WordPress"
1108
  msgstr ""
1109
 
 
 
 
 
1110
  #. Plugin Name of the plugin/theme
1111
  msgid "Pretty Link Lite"
1112
  msgstr ""
js/clippy.swf ADDED
Binary file
js/jquery.clippy.js ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ We're using Clippy, found at https://github.com/mojombo/clippy, to make a simple-to-use jQuery plugin for easy copying to the clipboard from the web browser. Some Flash required, YMMV.
3
+ */
4
+ (function($){
5
+ $.fn.clippy = function(opts)
6
+ {
7
+ _opts = { // default options
8
+ 'width': '14',
9
+ 'height': '14',
10
+ 'color': '#ffffff',
11
+ 'clippy_path': 'clippy.swf',
12
+ 'keep_text': false
13
+ };
14
+
15
+ opts = $.extend(_opts, opts);
16
+
17
+ params = { // a lot of similar parameters go on the <param>s as well as the <embed>
18
+ 'movie': opts.clippy_path,
19
+ 'allowScriptAccess': 'always',
20
+ 'quality': 'high',
21
+ 'scale': 'noscale',
22
+ 'bgcolor': opts.color
23
+ };
24
+
25
+ // duplicate, then modify the params we already have for the <embed>
26
+ embed_params = $.extend({}, params, {'width': opts.width, 'height': opts.height});
27
+ embed_params.src = embed_params.movie;
28
+
29
+ delete embed_params.movie;
30
+
31
+ // for every element matched...
32
+ this.each(function(idx, val)
33
+ {
34
+ if (opts.text && opts.text != '')
35
+ {
36
+ text = opts.text;
37
+ }
38
+ else if ($(val).data('text') && $(val).data('text') != '')
39
+ {
40
+ text = $(val).data('text');
41
+ }
42
+ else
43
+ {
44
+ text = $(val).text();
45
+ }
46
+
47
+ // text should be URI-encoded, per https://github.com/mojombo/clippy/pull/9
48
+ text = encodeURIComponent(text);
49
+
50
+ // text is set per element, unlike everything else which is set per selector
51
+ params.FlashVars = 'text=' + text;
52
+ embed_params.FlashVars = 'text=' + text;
53
+
54
+ // these tags are built per the example given at https://github.com/mojombo/clippy in the README
55
+ // create <object>
56
+ dom = $('<object />').attr({
57
+ 'classid': 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
58
+ 'width': opts.width,
59
+ 'height': opts.height
60
+ });
61
+
62
+ // create, append <param>s to <object>
63
+ $.each(params, function(idx2, val2)
64
+ {
65
+ dom.append($('<param />').attr({ 'name': idx2, 'value': val2 }));
66
+ });
67
+
68
+ // create, append <embed> to <object>
69
+ embed = $('<embed />').attr(embed_params);
70
+
71
+ // append object to dom
72
+ dom.append(embed);
73
+
74
+ // if we keep the text, we put the button and THEN the text, otherwise, just replace text with the button
75
+ if (opts.keep_text)
76
+ {
77
+ $(val).html(dom).append(decodeURIComponent(text));
78
+ }
79
+ else
80
+ {
81
+ $(val).html(dom);
82
+ }
83
+ });
84
+ };
85
+ })(jQuery);
js/prli-admin-links.js CHANGED
@@ -1,132 +1,205 @@
1
  function prli_toggle_link_options() {
2
- if(jQuery('#redirect_type').val() == 'metarefresh' || jQuery('#redirect_type').val() == 'javascript') {
 
3
  jQuery('#prli_time_delay').show();
4
- }
5
- else {
6
  jQuery('#prli_time_delay').hide();
7
- }
8
 
9
- if(jQuery('#redirect_type').val() != '307' && jQuery('#redirect_type').val() != '301' && jQuery('#redirect_type').val() != 'pixel') {
 
 
 
10
  jQuery('#prli_google_analytics').show();
11
- }
12
- else {
13
  jQuery('#prli_google_analytics').hide();
14
- }
15
-
16
- if(jQuery('#redirect_type').val() == 'pixel') {
17
- jQuery('#prli_target_url').hide();
18
- }
19
- else {
20
- jQuery('#prli_target_url').show();
21
- }
22
 
23
- if(jQuery('.prlipro-enable-split-test').prop('checked')) {
24
  jQuery('.prlipro-split-test-goal-link').show();
25
- }
26
- else {
27
  jQuery('.prlipro-split-test-goal-link').hide();
28
- }
29
  }
30
 
31
- jQuery(document).ready(function() {
32
-
33
  prli_toggle_link_options();
34
 
35
- jQuery('#redirect_type').change(function() {
36
  prli_toggle_link_options();
37
  });
38
 
39
- jQuery('#param_forwarding').click(function() {
40
  prli_toggle_link_options();
41
  });
42
 
43
- jQuery('.prlipro-enable-split-test').click(function() {
44
  prli_toggle_link_options();
45
  });
46
 
47
  // tab swapping
48
- jQuery('.nav-tab').click(function() {
49
 
50
  // tab is already active. don't do anything
51
- if( jQuery(this).hasClass( 'nav-tab-active' ) )
52
  return false;
53
 
54
- jQuery('.nav-tab-active').removeClass( 'nav-tab-active' );
55
- jQuery(this).addClass( 'nav-tab-active' );
56
 
57
- if( jQuery(this).attr( 'href' ) == '#options-table' ) {
58
- jQuery('#options-table').show();
59
- jQuery('#pro-options-table').hide();
60
- } else {
61
- jQuery('#options-table').hide();
62
- jQuery('#pro-options-table').show();
 
63
  }
64
 
65
  return false;
66
  });
67
 
68
- jQuery("#add_group_textbox").keypress(function(e) {
69
  // Apparently 13 is the enter key
70
  if(e.which == 13) {
71
- e.preventDefault();
72
-
73
- var add_new_group_data = {
74
- action: 'add_new_prli_group',
75
- new_group_name: jQuery('#add_group_textbox').val(),
76
- _prli_nonce: jQuery('#add_group_textbox').attr('prli_nonce')
77
- };
78
 
79
- jQuery.post(ajaxurl, add_new_group_data, function(data) {
 
 
 
 
 
 
80
  if(data['status']=='success') {
81
- jQuery('#group_dropdown').append(data['group_option']);
82
- jQuery('#group_dropdown').val(data['group_id']);
83
- jQuery('#add_group_textbox').val('');
84
- jQuery("#add_group_textbox").blur();
85
- jQuery("#add_group_message").addClass('updated');
86
- jQuery("#add_group_message").text(data['message']);
87
- jQuery("#add_group_message").show();
88
 
89
- jQuery("#add_group_message").fadeOut(5000, function(e) {
90
- jQuery("#add_group_message").removeClass('updated');
91
  });
92
  }
93
  else {
94
- jQuery("#add_group_message").addClass('error');
95
- jQuery("#add_group_message").text(data['message']);
96
 
97
- jQuery("#add_group_message").fadeOut(5000, function(e) {
98
- jQuery("#add_group_message").removeClass('error');
99
  });
100
  }
101
- });
102
  }
103
  });
104
 
105
- jQuery(".defaultText").focus(function(srcc)
106
- {
107
- if (jQuery(this).val() == jQuery(this)[0].title)
108
- {
109
- jQuery(this).removeClass("defaultTextActive");
110
- jQuery(this).val("");
111
  }
112
  });
113
 
114
- jQuery(".defaultText").blur(function()
115
- {
116
- if (jQuery(this).val() == "")
117
  {
118
- jQuery(this).addClass("defaultTextActive");
119
- jQuery(this).val(jQuery(this)[0].title);
120
  }
121
  });
122
 
123
- jQuery(".defaultText").blur();
124
 
125
- jQuery(".link_row").hover( function() {
126
- jQuery(this).find(".link_actions").show();
127
- },
128
- function() {
129
- jQuery(this).find(".link_actions").hide();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  });
131
 
132
- });
 
 
 
 
 
1
  function prli_toggle_link_options() {
2
+ if( jQuery('#redirect_type').val() == 'metarefresh' ||
3
+ jQuery('#redirect_type').val() == 'javascript' )
4
  jQuery('#prli_time_delay').show();
5
+ else
 
6
  jQuery('#prli_time_delay').hide();
 
7
 
8
+ if( jQuery('#redirect_type').val() == 'cloak' ||
9
+ jQuery('#redirect_type').val() == 'prettybar' ||
10
+ jQuery('#redirect_type').val() == 'metarefresh' ||
11
+ jQuery('#redirect_type').val() == 'javascript' )
12
  jQuery('#prli_google_analytics').show();
13
+ else
 
14
  jQuery('#prli_google_analytics').hide();
15
+
16
+ if( jQuery('#redirect_type').val() == 'pixel' )
17
+ jQuery('#prli_target_url').hide();
18
+ else
19
+ jQuery('#prli_target_url').show();
 
 
 
20
 
21
+ if( jQuery('.prlipro-enable-split-test').prop('checked') )
22
  jQuery('.prlipro-split-test-goal-link').show();
23
+ else
 
24
  jQuery('.prlipro-split-test-goal-link').hide();
 
25
  }
26
 
27
+ (function ($) { $(document).ready(function(e){
 
28
  prli_toggle_link_options();
29
 
30
+ $('#redirect_type').change(function() {
31
  prli_toggle_link_options();
32
  });
33
 
34
+ $('#param_forwarding').click(function() {
35
  prli_toggle_link_options();
36
  });
37
 
38
+ $('.prlipro-enable-split-test').click(function() {
39
  prli_toggle_link_options();
40
  });
41
 
42
  // tab swapping
43
+ $('.nav-tab').click(function() {
44
 
45
  // tab is already active. don't do anything
46
+ if( $(this).hasClass( 'nav-tab-active' ) )
47
  return false;
48
 
49
+ $('.nav-tab-active').removeClass( 'nav-tab-active' );
50
+ $(this).addClass( 'nav-tab-active' );
51
 
52
+ if( $(this).attr( 'href' ) == '#options-table' ) {
53
+ $('#options-table').show();
54
+ $('#pro-options-table').hide();
55
+ }
56
+ else {
57
+ $('#options-table').hide();
58
+ $('#pro-options-table').show();
59
  }
60
 
61
  return false;
62
  });
63
 
64
+ $("#add_group_textbox").keypress(function(e) {
65
  // Apparently 13 is the enter key
66
  if(e.which == 13) {
67
+ e.preventDefault();
 
 
 
 
 
 
68
 
69
+ var add_new_group_data = {
70
+ action: 'add_new_prli_group',
71
+ new_group_name: $('#add_group_textbox').val(),
72
+ _prli_nonce: $('#add_group_textbox').attr('prli_nonce')
73
+ };
74
+
75
+ $.post(ajaxurl, add_new_group_data, function(data) {
76
  if(data['status']=='success') {
77
+ $('#group_dropdown').append(data['group_option']);
78
+ $('#group_dropdown').val(data['group_id']);
79
+ $('#add_group_textbox').val('');
80
+ $("#add_group_textbox").blur();
81
+ $("#add_group_message").addClass('updated');
82
+ $("#add_group_message").text(data['message']);
83
+ $("#add_group_message").show();
84
 
85
+ $("#add_group_message").fadeOut(5000, function(e) {
86
+ $("#add_group_message").removeClass('updated');
87
  });
88
  }
89
  else {
90
+ $("#add_group_message").addClass('error');
91
+ $("#add_group_message").text(data['message']);
92
 
93
+ $("#add_group_message").fadeOut(5000, function(e) {
94
+ $("#add_group_message").removeClass('error');
95
  });
96
  }
97
+ });
98
  }
99
  });
100
 
101
+ $(".defaultText").focus(function(srcc) {
102
+ if ($(this).val() == $(this)[0].title) {
103
+ $(this).removeClass("defaultTextActive");
104
+ $(this).val('');
 
 
105
  }
106
  });
107
 
108
+ $(".defaultText").blur(function() {
109
+ if ($(this).val() == "")
 
110
  {
111
+ $(this).addClass("defaultTextActive");
112
+ $(this).val($(this)[0].title);
113
  }
114
  });
115
 
116
+ $(".defaultText").blur();
117
 
118
+ $(".link_row").hover( function() {
119
+ $(this).find(".link_actions").show();
120
+ },
121
+ function() {
122
+ $(this).find(".link_actions").hide();
123
+ });
124
+
125
+ $('.prli_bulk_action_apply').click( function() {
126
+ if($('.prli_bulk_action').val()=='edit') {
127
+ if($('.link-action-checkbox:checkbox:checked').length > 0)
128
+ $('#bulk-edit').slideDown('slow');
129
+ }
130
+ else if($('.prli_bulk_action').val()=='delete') {
131
+ var confmsg = $(this).attr('data-confmsg');
132
+ if(confirm(confmsg)) {
133
+ var ids = $('.link-action-checkbox:checkbox:checked').map(function() {
134
+ return $(this).attr('data-id');
135
+ }).get().join(',');
136
+ var delurl = $('.prli_bulk_action_apply').attr('data-url') +
137
+ window.location.search +
138
+ '&action=bulk-destroy' +
139
+ '&_wpnonce=' + $('.prli_bulk_action_apply').attr('data-wpnonce') +
140
+ '&ids=' + ids;
141
+
142
+ window.location = delurl;
143
+ }
144
+ }
145
+ });
146
+
147
+ $('.bulk-edit-cancel').click( function() {
148
+ $('#bulk-edit').slideUp('slow');
149
+ });
150
+
151
+ $('.bulk-edit-update').click( function() {
152
+ var ids = $('.link-action-checkbox:checkbox:checked').map(function() {
153
+ return $(this).attr('data-id');
154
+ }).get().join(',');
155
+ var editurl = $('.prli_bulk_action_apply').attr('data-url') +
156
+ window.location.search +
157
+ '&action=bulk-update' +
158
+ '&_wpnonce=' + $('.prli_bulk_action_apply').attr('data-wpnonce') +
159
+ '&ids=' + ids;
160
+
161
+ $('.bulk-edit-select').each( function() {
162
+ if($(this).val() != '##nochange##')
163
+ editurl += '&' + $(this).attr('name') + '=' + encodeURIComponent($(this).val());
164
+ });
165
+
166
+ $('.bulk-edit-text').each( function() {
167
+ editurl += '&' + $(this).attr('name') + '=' + encodeURIComponent($(this).val());
168
+ });
169
+
170
+ window.location = editurl;
171
+ });
172
+
173
+ $('.link-action-checkbox').change( function() {
174
+ if($(this).prop('checked')==false)
175
+ $('.select-all-link-action-checkboxes').prop('checked',false);
176
+
177
+ $('#bulk-titles').html('');
178
+ $('.link-action-checkbox:checkbox:checked').each( function() {
179
+ var nid = $(this).attr('data-id');
180
+ var ntitle = $(this).attr('data-title');
181
+ $('#bulk-titles').append('<div id="ttle'+nid+'"><a data-id="'+nid+'" class="ntdelbutton" title="Remove From Bulk Edit">X</a>"'+ntitle+'"</div>');
182
+ $('.ntdelbutton').click( function() {
183
+ var nid = $(this).attr('data-id');
184
+ $('.link-action-checkbox[data-id='+nid+']').prop('checked',false);
185
+ $('.link-action-checkbox[data-id='+nid+']').trigger('change');
186
+ });
187
+ });
188
+ });
189
+
190
+ // Check all boxes when the select all box is checked, etc
191
+ $('.select-all-link-action-checkboxes').change(function() {
192
+ if($(this).prop('checked'))
193
+ $('.link-action-checkbox').prop('checked',true);
194
+ else
195
+ $('.link-action-checkbox').prop('checked',false);
196
+
197
+ $('.link-action-checkbox').trigger('change');
198
  });
199
 
200
+ // Set the correct colspan for the bulk-edit form
201
+ // This is necessary because in some cases, PLP adds a
202
+ // keyword column to this table -- so it has to be dynamic
203
+ $('.prli-edit-table td.colspanchange').attr('colspan', $('table.prli-edit-table thead tr th').length);
204
+ });
205
+ })(jQuery);
pretty-bar.php DELETED
@@ -1,243 +0,0 @@
1
- <?php
2
- $root = dirname(dirname(dirname(dirname(__FILE__))));
3
- if (file_exists($root.'/wp-load.php'))
4
- require_once($root.'/wp-load.php');
5
- else
6
- require_once($root.'/wp-config.php');
7
-
8
- require_once('prli-config.php');
9
- require_once(PRLI_MODELS_PATH . '/models.inc.php');
10
-
11
- $link = $prli_link->getOneFromSlug(esc_html($_GET['slug']));
12
- $bar_image = $prli_options->prettybar_image_url;
13
- $bar_background_image = $prli_options->prettybar_background_image_url;
14
- $bar_color = $prli_options->prettybar_color;
15
- $bar_text_color = $prli_options->prettybar_text_color;
16
- $bar_link_color = $prli_options->prettybar_link_color;
17
- $bar_visited_color = $prli_options->prettybar_visited_color;
18
- $bar_hover_color = $prli_options->prettybar_hover_color;
19
- $bar_show_title = $prli_options->prettybar_show_title;
20
- $bar_show_description = $prli_options->prettybar_show_description;
21
- $bar_show_share_links = $prli_options->prettybar_show_share_links;
22
- $bar_show_target_url_link = $prli_options->prettybar_show_target_url_link;
23
- $bar_title_limit = (int)$prli_options->prettybar_title_limit;
24
- $bar_desc_limit = (int)$prli_options->prettybar_desc_limit;
25
- $bar_link_limit = (int)$prli_options->prettybar_link_limit;
26
-
27
- $target_url = esc_html($_GET['url']);
28
-
29
- $shortened_title = stripslashes(substr($prli_blogname,0,$bar_title_limit));
30
- $shortened_desc = stripslashes(substr($prli_blogdescription,0,$bar_desc_limit));
31
- $shortened_link = stripslashes(substr($target_url,0,$bar_link_limit));
32
-
33
- if(strlen($prli_blogname) > $bar_title_limit)
34
- $shortened_title .= "...";
35
-
36
- if(strlen($prli_blogdescription) > $bar_desc_limit)
37
- $shortened_desc .= "...";
38
-
39
- if(strlen($target_url) > $bar_link_limit)
40
- $shortened_link .= "...";
41
-
42
- ?>
43
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
44
- "http://www.w3.org/TR/html4/loose.dtd">
45
- <html>
46
- <head>
47
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
48
- <meta name="description" content="<?php echo stripslashes($link->description); ?>" />
49
- <title><?php echo stripslashes($link->name); ?></title>
50
- <style type="text/css">
51
- html, body {
52
- margin: 0px;
53
- padding: 0px;
54
- <?php
55
- if(!empty($bar_background_image) and $bar_background_image)
56
- {
57
- ?>
58
- background-image: url(<?php echo $bar_background_image; ?>);
59
- background-repeat: repeat-x;
60
- <?php
61
- }
62
- else
63
- {
64
- ?>
65
- background-color: #<?php echo $bar_color; ?>;
66
- <?php
67
- }
68
- ?>
69
- color: #<?php echo $bar_text_color; ?>;
70
- }
71
-
72
- #prettybar {
73
- position: fixed;
74
- top: 0;
75
- padding: 0px;
76
- margin: 0px;
77
- width: 100%;
78
- height: 65px;
79
- border-bottom: 2px solid black;
80
- }
81
-
82
- .baritems {
83
- margin-top: 0px;
84
- padding: 0px;
85
- }
86
-
87
- .blog-title {
88
- padding-top: 5px;
89
- margin: 0px;
90
- width: 200px;
91
- }
92
-
93
- h1,h2,h3,h4,p {
94
- font-family: Arial;
95
- padding: 0px;
96
- margin: 0px;
97
- }
98
-
99
- a {
100
- color: #<?php echo $bar_link_color; ?>;
101
- text-decoration: none;
102
- }
103
-
104
- a:visited {
105
- color: #<?php echo $bar_visited_color; ?>;
106
- }
107
-
108
- a:hover {
109
- color: #<?php echo $bar_hover_color; ?>;
110
- }
111
-
112
- .map {
113
- background-image: url(<?php echo PRLI_IMAGES_URL; ?>/bar_map.png);
114
- background-repeat: no-repeat;
115
- }
116
-
117
- .closebutton {
118
- background-position: -200px 0;
119
- height: 20px;
120
- width: 20px;
121
- overflow: hidden;
122
- /*text-indent: -999em;*/
123
- cursor: pointer;
124
- text-align: right;
125
- float: right;
126
- }
127
-
128
- .pb-cell {
129
- white-space: nowrap;
130
- overflow: hidden;
131
- }
132
-
133
- .right_container {
134
- float: right;
135
- margin-top: 8px;
136
- margin-right: 8px;
137
- text-align: right;
138
- }
139
-
140
- .closebutton:hover {
141
- background-position: -200px -30px;
142
- }
143
-
144
- .closebutton:active {
145
- background-position: -200px -60px;
146
- }
147
-
148
- ul.baritems li {
149
- display: inline;
150
- /*float: left;*/
151
- /*padding-left: 15px;*/
152
- }
153
-
154
- .retweet {
155
- padding-top: 5px;
156
- padding-left: 15px;
157
- line-height: 26px;
158
- width: 200px;
159
- }
160
-
161
- .blog-image {
162
- padding-top: 7px;
163
- padding-left: 5px;
164
- padding-right: 5px;
165
- width: 50px;
166
- }
167
-
168
- .small-text {
169
- font-size: 10px;
170
- }
171
-
172
- .powered-by {
173
- padding-top: 15px;
174
- text-align: right;
175
- }
176
-
177
- /*
178
- td {
179
- border: 1px solid black;
180
- }
181
- */
182
- </style>
183
- </head>
184
- <body>
185
- <div id="prettybar">
186
- <table width="100%" height="65px">
187
- <tr>
188
- <td class="blog-image" valign="top">
189
- <div class="pb-cell">
190
- <a href="<?php echo $prli_blogurl; ?>" target="_top"><img src="<?php echo $bar_image; ?>" width="48px" height="48px" border="0"/></a></div>
191
- </td>
192
- <td class="blog-title" valign="top">
193
- <div class="pb-cell">
194
- <h2>
195
- <?php if( $bar_show_title ) { ?>
196
- <a href="<?php echo $prli_blogurl; ?>" title="<?php echo $shortened_title; ?>" target="_top"><?php echo $shortened_title; ?></a>
197
- <?php } else echo "&nbsp;"; ?>
198
- </h2>
199
- <?php if( $bar_show_description ) { ?>
200
- <p title="<?php echo $prli_blogdescription; ?>"><?php echo $shortened_desc; ?></p>
201
- <?php } else echo "&nbsp;"; ?>
202
- </div>
203
- </td>
204
- <td class="retweet" valign="top">
205
- <div class="pb-cell">
206
- <h4>
207
- <?php if( $bar_show_target_url_link ) { ?>
208
- <a href="<?php echo $target_url; ?>" title="You're viewing: <?php echo $target_url; ?>" target="_top">Viewing: <?php echo $shortened_link; ?></a>
209
- <?php } else echo "&nbsp;"; ?>
210
- </h4>
211
- <h4>
212
- <?php if( $bar_show_share_links ) { ?>
213
- <a href="http://twitter.com/home?status=<?php echo $prli_blogurl . PrliUtils::get_permalink_pre_slug_uri() . esc_html($_GET['slug']); ?>" target="_top">Share on Twitter</a>
214
- <?php } else echo "&nbsp;"; ?>
215
- </h4>
216
- </div>
217
- </td>
218
- <td valign="top">
219
- <div class="pb-cell right_container">
220
- <table width="100%" cellpadding="0" cellspacing="0" style="padding: 0px; margin: 0px;">
221
- <tr>
222
- <td>
223
- <p class="map closebutton"><a href="<?php echo $target_url; ?>" target="_top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></p>
224
- </td>
225
- <tr>
226
- <td>
227
- <?php
228
- $link_html =<<<LINKHTML
229
- <p class="powered-by small-text">Powered by <a href="http://blairwilliams.com/pl" target="_top"><img src="<?php echo PRLI_IMAGES_URL; ?>/pretty-link-small.png" width="12px" height="12px" border="0"/> Pretty Link</a></p>
230
- LINKHTML;
231
- echo apply_filters('prli-display-attrib-link',$link_html);
232
- ?>
233
- </td>
234
- </tr>
235
- </table>
236
- </div>
237
- </td>
238
- </tr>
239
- </table>
240
- </div>
241
- </div>
242
- </body>
243
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.5.7
7
  Author: Caseproof
8
  Author URI: http://caseproof.com
9
  Copyright: 2004-2012, Caseproof, LLC
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.5.9
7
  Author: Caseproof
8
  Author URI: http://caseproof.com
9
  Copyright: 2004-2012, Caseproof, LLC
prli-bookmarklet.php CHANGED
@@ -30,7 +30,15 @@ if(isset($_GET['k']))
30
  <html>
31
  <head>
32
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
33
- <title>Here's your Pretty Link</title>
 
 
 
 
 
 
 
 
34
  <style type="text/css">
35
  body {
36
  font-family: Arial;
@@ -57,12 +65,15 @@ if(isset($_GET['k']))
57
  text-decoration: none;
58
  color: blue;
59
  }
 
 
 
60
  </style>
61
  </head>
62
  <body>
63
  <p><img src="<?php echo PRLI_IMAGES_URL; ?>/prettylink_logo.jpg" /></p>
64
  <h4><em>here's your pretty link for:</em><br/><?php echo $target_url_title; ?><br/>(<span title="<?php echo $target_url; ?>"><?php echo substr($target_url,0,50) . ((strlen($target_url)>50)?"...":''); ?></span>)</h4>
65
- <h2><a href="<?php echo $pretty_link; ?>"><?php echo $pretty_link; ?></a></h2>
66
  <p>send this link to:<br/>
67
  <a href="http://del.icio.us/post?url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_IMAGES_URL; ?>/delicious_32.png" title="delicious" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
68
  <a href="http://www.stumbleupon.com/submit?url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_IMAGES_URL; ?>/stumbleupon_32.png" title="stumbleupon" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
@@ -90,4 +101,4 @@ else
90
  {
91
  wp_redirect($prli_blogurl);
92
  exit;
93
- }
30
  <html>
31
  <head>
32
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
33
+ <title><?php echo __('Here\'s your Pretty Link', 'pretty-link'); ?></title>
34
+ <script type='text/javascript' src='<?php echo site_url('/wp-includes/js/jquery/jquery.js'); ?>'></script>
35
+ <script type='text/javascript' src='<?php echo PRLI_JS_URL . '/jquery.clippy.js'; ?>'></script>
36
+ <script type="text/javascript">
37
+ jQuery(document).ready(function() {
38
+ /* Set up the clippies! */
39
+ jQuery('.clippy').clippy({clippy_path: '<?php echo PRLI_JS_URL; ?>/clippy.swf', width: '100px'});
40
+ });
41
+ </script>
42
  <style type="text/css">
43
  body {
44
  font-family: Arial;
65
  text-decoration: none;
66
  color: blue;
67
  }
68
+ .clippy {
69
+ padding-left: 75px;
70
+ }
71
  </style>
72
  </head>
73
  <body>
74
  <p><img src="<?php echo PRLI_IMAGES_URL; ?>/prettylink_logo.jpg" /></p>
75
  <h4><em>here's your pretty link for:</em><br/><?php echo $target_url_title; ?><br/>(<span title="<?php echo $target_url; ?>"><?php echo substr($target_url,0,50) . ((strlen($target_url)>50)?"...":''); ?></span>)</h4>
76
+ <h2><a href="<?php echo $pretty_link; ?>"><?php echo $pretty_link; ?></a><br/><span class="clippy"><?php echo $pretty_link; ?></span></h2>
77
  <p>send this link to:<br/>
78
  <a href="http://del.icio.us/post?url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_IMAGES_URL; ?>/delicious_32.png" title="delicious" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
79
  <a href="http://www.stumbleupon.com/submit?url=<?php echo urlencode($pretty_link) ?>&title=<?php echo urlencode($target_url_title); ?>" target="_blank"><img src="<?php echo PRLI_IMAGES_URL; ?>/stumbleupon_32.png" title="stumbleupon" width="32px" height="32px" border="0" /></a>&nbsp;&nbsp;
101
  {
102
  wp_redirect($prli_blogurl);
103
  exit;
104
+ }
prli-links.php DELETED
@@ -1,238 +0,0 @@
1
- <?php
2
- if(!defined('ABSPATH'))
3
- die('You are not allowed to call this page directly.');
4
-
5
- require_once 'prli-config.php';
6
- require_once(PRLI_MODELS_PATH . '/models.inc.php');
7
-
8
- $params = $prli_link->get_params_array();
9
-
10
- if($params['action'] == 'list')
11
- {
12
- if(!empty($params['message']))
13
- $prli_message = $params['message'];
14
- else if(empty($params['group']))
15
- $prli_message = prli_get_main_message();
16
- else
17
- $prli_message = "Links in Group: " . $wpdb->get_var("SELECT name FROM " . $prli_group->table_name . " WHERE id=".$params['group']);
18
- if($params['regenerate'] == 'true')
19
- {
20
- $wp_rewrite->flush_rules();
21
- $prli_message = "Your Pretty Links were Successfully Regenerated";
22
- }
23
-
24
- prli_display_links_list($params, $prli_message);
25
- }
26
- else if($params['action'] == 'list-form')
27
- {
28
- if(apply_filters('prli-link-list-process-form', true))
29
- prli_display_links_list($params, prli_get_main_message());
30
- }
31
- else if($params['action'] == 'quick-create')
32
- {
33
- $errors = $prli_link->validate($_POST);
34
-
35
- if( count($errors) > 0 )
36
- {
37
- $groups = $prli_group->getAll('',' ORDER BY name');
38
- $values = setup_new_vars($groups);
39
- require_once 'classes/views/prli-links/new.php';
40
- }
41
- else
42
- {
43
- $_POST['param_forwarding'] = 'off';
44
- $_POST['param_struct'] = '';
45
- $_POST['name'] = '';
46
- $_POST['description'] = '';
47
- if( $prli_options->link_track_me )
48
- $_POST['track_me'] = 'on';
49
- if( $prli_options->link_nofollow )
50
- $_POST['nofollow'] = 'on';
51
-
52
- $_POST['redirect_type'] = $prli_options->link_redirect_type;
53
-
54
- $record = $prli_link->create( $_POST );
55
-
56
- $prli_message = "Your Pretty Link was Successfully Created";
57
- prli_display_links_list($params, $prli_message, '', 1);
58
- }
59
- }
60
- else if($params['action'] == 'create')
61
- {
62
- $errors = $prli_link->validate($_POST);
63
-
64
- $errors = apply_filters( "prli_validate_link", $errors );
65
-
66
- if( count($errors) > 0 )
67
- {
68
- $groups = $prli_group->getAll('',' ORDER BY name');
69
- $values = setup_new_vars($groups);
70
- require_once 'classes/views/prli-links/new.php';
71
- }
72
- else
73
- {
74
- $record = $prli_link->create( $_POST );
75
-
76
- do_action( "prli_update_link", $record );
77
-
78
- $prli_message = "Your Pretty Link was Successfully Created";
79
- prli_display_links_list($params, $prli_message, '', 1);
80
- }
81
- }
82
- else if($params['action'] == 'edit')
83
- {
84
- $groups = $prli_group->getAll('',' ORDER BY name');
85
-
86
- $record = $prli_link->getOne( $params['id'] );
87
- $values = setup_edit_vars($groups,$record);
88
- $id = $params['id'];
89
- require_once 'classes/views/prli-links/edit.php';
90
- }
91
- else if($params['action'] == 'bulk-update')
92
- {
93
- if(apply_filters('prli-bulk-link-update', true))
94
- {
95
- $prli_message = "Your Pretty Links were Successfully Updated";
96
- prli_display_links_list($params, $prli_message, '', 1);
97
- }
98
- }
99
- else if($params['action'] == 'update')
100
- {
101
- $errors = $prli_link->validate($_POST);
102
- $id = $_POST['id'];
103
-
104
- $errors = apply_filters( "prli_validate_link", $errors );
105
-
106
- if( count($errors) > 0 )
107
- {
108
- $groups = $prli_group->getAll('',' ORDER BY name');
109
- $record = $prli_link->getOne( $params['id'] );
110
- $values = setup_edit_vars($groups,$record);
111
- require_once 'classes/views/prli-links/edit.php';
112
- }
113
- else
114
- {
115
- $record = $prli_link->update( $_POST['id'], $_POST );
116
-
117
- do_action( "prli_update_link", $id );
118
-
119
- $prli_message = "Your Pretty Link was Successfully Updated";
120
- prli_display_links_list($params, $prli_message, '', 1);
121
- }
122
- }
123
- else if($params['action'] == 'reset')
124
- {
125
- $prli_link->reset( $params['id'] );
126
- $prli_message = "Your Pretty Link was Successfully Reset";
127
- prli_display_links_list($params, $prli_message, '', 1);
128
- }
129
- else if($params['action'] == 'destroy')
130
- {
131
- $prli_link->destroy( $params['id'] );
132
- $prli_message = "Your Pretty Link was Successfully Destroyed";
133
- prli_display_links_list($params, $prli_message, '', 1);
134
- }
135
-
136
- // Helpers
137
- function prli_display_links_list($params, $prli_message, $page_params_ov = false, $current_page_ov = false)
138
- {
139
- global $wpdb, $prli_utils, $prli_click, $prli_group, $prli_link, $page_size, $prli_options;
140
-
141
- $controller_file = basename(__FILE__);
142
-
143
- $where_clause = '';
144
- $page_params = '';
145
-
146
- if(!empty($params['group']))
147
- {
148
- $where_clause = " group_id=" . $params['group'];
149
- $page_params = "&group=" . $params['group'];
150
- }
151
-
152
- $link_vars = prli_get_link_sort_vars($params, $where_clause);
153
-
154
- if($current_page_ov)
155
- $current_page = $current_page_ov;
156
- else
157
- $current_page = $params['paged'];
158
-
159
- if($page_params_ov)
160
- $page_params .= $page_params_ov;
161
- else
162
- $page_params .= $link_vars['page_params'];
163
-
164
- $sort_str = $link_vars['sort_str'];
165
- $sdir_str = $link_vars['sdir_str'];
166
- $search_str = $link_vars['search_str'];
167
-
168
- $record_count = $prli_link->getRecordCount($link_vars['where_clause']);
169
- $page_count = $prli_link->getPageCount($page_size,$link_vars['where_clause']);
170
- $links = $prli_link->getPage($current_page,$page_size,$link_vars['where_clause'],$link_vars['order_by']);
171
- $page_last_record = $prli_utils->getLastRecordNum($record_count,$current_page,$page_size);
172
- $page_first_record = $prli_utils->getFirstRecordNum($record_count,$current_page,$page_size);
173
-
174
- require_once 'classes/views/prli-links/list.php';
175
- }
176
-
177
- function prli_get_link_sort_vars($params,$where_clause = '')
178
- {
179
- $order_by = '';
180
- $page_params = '';
181
-
182
- // These will have to work with both get and post
183
- $sort_str = $params['sort'];
184
- $sdir_str = $params['sdir'];
185
- $search_str = $params['search'];
186
-
187
- // Insert search string
188
- if(!empty($search_str))
189
- {
190
- $search_params = explode(" ", $search_str);
191
-
192
- foreach($search_params as $search_param)
193
- {
194
- if(!empty($where_clause))
195
- $where_clause .= " AND";
196
-
197
- $where_clause .= " (li.name like '%$search_param%' OR li.slug like '%$search_param%' OR li.url like '%$search_param%' OR li.created_at like '%$search_param%')";
198
- }
199
-
200
- $page_params .="&search=$search_str";
201
- }
202
-
203
- // make sure page params stay correct
204
- if(!empty($sort_str))
205
- $page_params .="&sort=$sort_str";
206
-
207
- if(!empty($sdir_str))
208
- $page_params .= "&sdir=$sdir_str";
209
-
210
- // Add order by clause
211
- switch($sort_str)
212
- {
213
- case "name":
214
- case "clicks":
215
- case "group_name":
216
- case "slug":
217
- $order_by .= " ORDER BY $sort_str";
218
- break;
219
- default:
220
- $order_by .= " ORDER BY created_at";
221
- }
222
-
223
- // Toggle ascending / descending
224
- if((empty($sort_str) and empty($sdir_str)) or $sdir_str == 'desc')
225
- {
226
- $order_by .= ' DESC';
227
- $sdir_str = 'desc';
228
- }
229
- else
230
- $sdir_str = 'asc';
231
-
232
- return array('order_by' => $order_by,
233
- 'sort_str' => $sort_str,
234
- 'sdir_str' => $sdir_str,
235
- 'search_str' => $search_str,
236
- 'where_clause' => $where_clause,
237
- 'page_params' => $page_params);
238
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
prli-main.php CHANGED
@@ -36,6 +36,8 @@ function prli_menu()
36
 
37
  add_action('admin_print_styles-' . $prli_menu_hook, 'PrliLinksController::load_styles');
38
  add_action('admin_print_styles-' . $prli_add_links_menu_hook, 'PrliLinksController::load_styles');
 
 
39
  }
40
 
41
  /* Add header to prli-options page */
36
 
37
  add_action('admin_print_styles-' . $prli_menu_hook, 'PrliLinksController::load_styles');
38
  add_action('admin_print_styles-' . $prli_add_links_menu_hook, 'PrliLinksController::load_styles');
39
+
40
+ add_action('admin_head-' . $prli_menu_hook, 'PrliLinksController::load_dynamic_scripts', 100);
41
  }
42
 
43
  /* Add header to prli-options page */
readme.txt CHANGED
@@ -4,9 +4,9 @@ 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.0
6
  Tested up to: 3.3.1
7
- Stable tag: 1.5.7
8
 
9
- Shrink, beautify, track, manage and share any URL on or off of your WordPress website. Create links that look however you want using your own domain name!
10
 
11
  == Description ==
12
 
@@ -66,6 +66,14 @@ http://blairwilliams.com/w7a
66
 
67
  == Changelog ==
68
 
 
 
 
 
 
 
 
 
69
  = 1.5.7 =
70
  * *Feature* Re-factored the add/edit link screen to be more intuitive and accurate
71
  * *Feature* Added the ability to add a new group from the Add / Edit Link screen
@@ -344,6 +352,9 @@ http://blairwilliams.com/w7a
344
 
345
  == Upgrade Notice ==
346
 
 
 
 
347
  = 1.5.7 =
348
  * This is a major new release that fixes numerous bugs and adds several new features for Lite and Pro users. Everyone should upgrade.
349
 
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.0
6
  Tested up to: 3.3.1
7
+ Stable tag: 1.5.9
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
 
11
  == Description ==
12
 
66
 
67
  == Changelog ==
68
 
69
+ = 1.5.9 =
70
+ * *Feature* Added Bulk Actions for Pretty Link Management page
71
+ * *Feature* Added the ability to change the number of rows displayed in the Pretty Link Management page (no longer limited to 10)
72
+ * *Feature* Added 1-click copy for pretty links in the Pretty Link management page and bookmarklet
73
+ * *Feature* Added the ability to click on the referrer links in the pretty link hits table
74
+ * *Fix* Fixed the permission issue when clicking on some links in the pretty link admin interface
75
+ * *Fix* Fixed the timestamp issue in hits that some people were experiencing
76
+
77
  = 1.5.7 =
78
  * *Feature* Re-factored the add/edit link screen to be more intuitive and accurate
79
  * *Feature* Added the ability to add a new group from the Add / Edit Link screen
352
 
353
  == Upgrade Notice ==
354
 
355
+ = 1.5.9 =
356
+ * This adds some very useful features for link managment in Lite & Pro ... everyone should upgrade.
357
+
358
  = 1.5.7 =
359
  * This is a major new release that fixes numerous bugs and adds several new features for Lite and Pro users. Everyone should upgrade.
360