Version Description
- Fixed issue with mt_rand overflowing
- Fixed another XSS Vulnerability
- Fixed some issues with the automatic update process for pro users
- Made some big security enhancements
- Fixed some issues with the public link creation widget
- Fixed an issue with the update database mechanism
- Removed Keyword Caching from Pro
- Optimized Keyword Replacement routine in Pro
- Fixed a small issues with automatic post link creation routines
- Changed the way slugs are generated and now default to 4 character slugs
Download this release
Release Info
Developer | supercleanse |
Plugin | Shortlinks by Pretty Links – Best WordPress Link Tracking Plugin |
Version | 1.5.1 |
Comparing to | |
See all releases |
Code changes from version 1.5.0 to 1.5.1
- classes/controllers/PrliAppController.php +6 -16
- classes/models/PrliClick.php +4 -2
- classes/models/PrliGroup.php +4 -2
- classes/models/PrliLink.php +10 -17
- classes/models/PrliLinkMeta.php +4 -2
- classes/models/PrliOptions.php +4 -2
- classes/models/PrliUpdate.php +107 -133
- classes/models/PrliUrlUtils.php +4 -2
- classes/models/PrliUtils.php +20 -1
- classes/models/models.inc.php +27 -22
- classes/views/prli-clicks/csv.php +4 -1
- classes/views/prli-clicks/csv_download.php +1 -1
- classes/views/prli-clicks/head.php +1 -1
- classes/views/prli-clicks/list.php +1 -1
- classes/views/prli-dashboard-widget/widget.php +1 -1
- classes/views/prli-groups/edit.php +6 -1
- classes/views/prli-groups/head.php +6 -1
- classes/views/prli-groups/list.php +5 -1
- classes/views/prli-groups/new.php +6 -1
- classes/views/prli-links/bar.php +6 -1
- classes/views/prli-links/edit.php +6 -1
- classes/views/prli-links/form.php +1 -2
- classes/views/prli-links/head.php +6 -1
- classes/views/prli-links/list.php +6 -1
- classes/views/prli-links/new.php +6 -1
- classes/views/prli-links/ultra-cloak.php +6 -1
- classes/views/prli-options/form.php +6 -1
- classes/views/prli-options/head.php +7 -1
- classes/views/prli-options/pro-settings.php +6 -1
- classes/views/prli-tools/form.php +6 -1
- classes/views/shared/link-table-nav.php +4 -2
- classes/views/shared/nav.php +4 -1
- i18n/pretty-link.pot +142 -133
- pretty-bar.php +1 -1
- pretty-link.php +3 -1
- prli-add-link.php +4 -2
- prli-api.php +4 -3
- prli-bookmarklet.php +1 -2
- prli-clicks.php +3 -4
- prli-config.php +4 -2
- prli-dashboard-widget.php +3 -3
- prli-groups.php +4 -3
- prli-image-lookups.php +4 -3
- prli-links.php +4 -4
- prli-main.php +2 -0
- prli-options.php +4 -3
- prli-pro-settings.php +4 -1
- prli-tools.php +4 -2
- prli-xmlrpc.php +4 -2
- readme.txt +16 -1
classes/controllers/PrliAppController.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PrliAppController
|
3 |
{
|
4 |
function PrliAppController()
|
@@ -57,23 +60,10 @@ class PrliAppController
|
|
57 |
require_once(ABSPATH . WPINC . '/pluggable.php');
|
58 |
|
59 |
if( wp_verify_nonce( $_REQUEST['_wpnonce'], "prli-db-upgrade" ) and current_user_can( 'update_core' ) ) {
|
60 |
-
|
61 |
-
$
|
62 |
-
|
63 |
-
if( !$upgrade_db and $prli_update->pro_is_installed_and_authorized()) {
|
64 |
-
$old_prlipro_db_version = get_option('prlipro_db_version');
|
65 |
-
$upgrade_db = ( !$old_prlipro_db_version or ( intval($old_prlipro_db_version) < $prlipro_db_version ) );
|
66 |
-
}
|
67 |
-
|
68 |
-
if( $upgrade_db ) {
|
69 |
-
prli_install();
|
70 |
-
wp_redirect("{$prli_blogurl}/wp-admin/admin.php?page=pretty-link/prli-links.php&message=" . urlencode(__('Your Database Has Been Successfully Upgraded.', 'pretty-link')));
|
71 |
-
}
|
72 |
-
else
|
73 |
-
wp_redirect($prli_blogurl);
|
74 |
-
}
|
75 |
else
|
76 |
wp_redirect($prli_blogurl);
|
77 |
}
|
78 |
}
|
79 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
class PrliAppController
|
6 |
{
|
7 |
function PrliAppController()
|
60 |
require_once(ABSPATH . WPINC . '/pluggable.php');
|
61 |
|
62 |
if( wp_verify_nonce( $_REQUEST['_wpnonce'], "prli-db-upgrade" ) and current_user_can( 'update_core' ) ) {
|
63 |
+
prli_install();
|
64 |
+
wp_redirect("{$prli_blogurl}/wp-admin/admin.php?page=pretty-link/prli-links.php&message=" . urlencode(__('Your Database Has Been Successfully Upgraded.', 'pretty-link')));
|
65 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
else
|
67 |
wp_redirect($prli_blogurl);
|
68 |
}
|
69 |
}
|
|
classes/models/PrliClick.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PrliClick
|
3 |
{
|
4 |
var $table_name;
|
@@ -310,5 +313,4 @@ class PrliClick
|
|
310 |
return $values;
|
311 |
}
|
312 |
|
313 |
-
}
|
314 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
class PrliClick
|
6 |
{
|
7 |
var $table_name;
|
313 |
return $values;
|
314 |
}
|
315 |
|
316 |
+
}
|
|
classes/models/PrliGroup.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PrliGroup
|
3 |
{
|
4 |
var $table_name;
|
@@ -120,5 +123,4 @@ class PrliGroup
|
|
120 |
|
121 |
return $errors;
|
122 |
}
|
123 |
-
}
|
124 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
class PrliGroup
|
6 |
{
|
7 |
var $table_name;
|
123 |
|
124 |
return $errors;
|
125 |
}
|
126 |
+
}
|
|
classes/models/PrliLink.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PrliLink
|
3 |
{
|
4 |
var $table_name;
|
@@ -371,28 +374,19 @@ class PrliLink
|
|
371 |
return $results;
|
372 |
}
|
373 |
|
374 |
-
|
375 |
-
* This gives us a possibility of 36^3 - 37 = 46,619 possible
|
376 |
-
* random slugs. That should be *more* than enough slugs for
|
377 |
-
* any website -- if I get any feedback that we need more then
|
378 |
-
* I can always make a config option to raise the # of chars.
|
379 |
-
*/
|
380 |
-
function generateValidSlug($num_chars = 3)
|
381 |
{
|
382 |
-
global $wpdb
|
383 |
-
|
384 |
-
|
385 |
-
$max_slug_value = pow(36,$num_chars);
|
386 |
-
$min_slug_value = 37; // we want to have at least 2 characters in the slug
|
387 |
-
$slug = base_convert( rand($min_slug_value,$max_slug_value), 10, 36 );
|
388 |
|
389 |
-
$query = "SELECT slug FROM
|
390 |
$slugs = $wpdb->get_col($query,0);
|
391 |
|
392 |
// It is highly unlikely that we'll ever see 2 identical random slugs
|
393 |
// but just in case, here's some code to prevent collisions
|
394 |
-
while( in_array($slug,$slugs) or
|
395 |
-
$slug =
|
396 |
|
397 |
return $slug;
|
398 |
}
|
@@ -470,4 +464,3 @@ class PrliLink
|
|
470 |
return $errors;
|
471 |
}
|
472 |
}
|
473 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
class PrliLink
|
6 |
{
|
7 |
var $table_name;
|
374 |
return $results;
|
375 |
}
|
376 |
|
377 |
+
public function generateValidSlug($num_chars = 4)
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
{
|
379 |
+
global $wpdb;
|
380 |
+
|
381 |
+
$slug = PrliUtils::gen_random_string($num_chars);
|
|
|
|
|
|
|
382 |
|
383 |
+
$query = "SELECT slug FROM {$this->table_name}";
|
384 |
$slugs = $wpdb->get_col($query,0);
|
385 |
|
386 |
// It is highly unlikely that we'll ever see 2 identical random slugs
|
387 |
// but just in case, here's some code to prevent collisions
|
388 |
+
while( in_array($slug,$slugs) or !PrliUtils::slugIsAvailable($slug) )
|
389 |
+
$slug = PrliUtils::gen_random_string($num_chars);
|
390 |
|
391 |
return $slug;
|
392 |
}
|
464 |
return $errors;
|
465 |
}
|
466 |
}
|
|
classes/models/PrliLinkMeta.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PrliLinkMeta
|
3 |
{
|
4 |
var $table_name;
|
@@ -55,5 +58,4 @@ class PrliLinkMeta
|
|
55 |
$query = $wpdb->prepare($query_str, $meta_key, $link_id);
|
56 |
return $wpdb->query($query);
|
57 |
}
|
58 |
-
}
|
59 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
class PrliLinkMeta
|
6 |
{
|
7 |
var $table_name;
|
58 |
$query = $wpdb->prepare($query_str, $meta_key, $link_id);
|
59 |
return $wpdb->query($query);
|
60 |
}
|
61 |
+
}
|
|
classes/models/PrliOptions.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PrliOptions
|
3 |
{
|
4 |
var $prli_exclude_ips;
|
@@ -271,5 +274,4 @@ class PrliOptions
|
|
271 |
if(!isset($this->extended_tracking))
|
272 |
$this->extended_tracking = 'normal';
|
273 |
}
|
274 |
-
}
|
275 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
class PrliOptions
|
6 |
{
|
7 |
var $prli_exclude_ips;
|
274 |
if(!isset($this->extended_tracking))
|
275 |
$this->extended_tracking = 'normal';
|
276 |
}
|
277 |
+
}
|
|
classes/models/PrliUpdate.php
CHANGED
@@ -1,59 +1,57 @@
|
|
1 |
<?php
|
|
|
2 |
|
3 |
/** Okay, this class is not a pure model -- it contains all the functions
|
4 |
-
* necessary to successfully provide an update mechanism for
|
5 |
*/
|
6 |
class PrliUpdate
|
7 |
{
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
|
|
13 |
|
14 |
-
|
15 |
-
|
16 |
|
17 |
-
|
18 |
-
|
19 |
|
20 |
-
|
21 |
-
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
var $pro_last_checked_store;
|
27 |
-
|
28 |
-
var $pro_username;
|
29 |
-
var $pro_password;
|
30 |
-
var $pro_mothership_xmlrpc_url;
|
31 |
-
|
32 |
-
var $wordpress_version;
|
33 |
|
34 |
-
|
|
|
|
|
|
|
|
|
35 |
{
|
36 |
// Where all the vitals are defined for this plugin
|
37 |
$this->plugin_name = 'pretty-link/pretty-link.php';
|
38 |
$this->plugin_slug = 'pretty-link';
|
39 |
-
$this->plugin_url = 'http://
|
40 |
$this->pro_script = PRLI_PATH . '/pro/pretty-link-pro.php';
|
41 |
$this->pro_mothership = 'http://prettylinkpro.com';
|
|
|
42 |
$this->pro_cred_store = 'prlipro-credentials';
|
43 |
$this->pro_auth_store = 'prlipro_activated';
|
44 |
-
$this->pro_last_checked_store = 'prlipro_last_checked_update';
|
45 |
$this->pro_username_label = __('Pretty Link Pro Username', 'pretty-link');
|
46 |
$this->pro_password_label = __('Pretty Link Pro Password', 'pretty-link');
|
47 |
$this->pro_error_message_str = __('Your Pretty Link Pro Username or Password was Invalid', 'pretty-link');
|
|
|
48 |
|
49 |
// Don't modify these variables
|
50 |
-
$this->pro_check_interval = 60*15; // Checking every 15 minutes
|
51 |
$this->pro_username_str = 'proplug-username';
|
52 |
$this->pro_password_str = 'proplug-password';
|
53 |
$this->pro_mothership_xmlrpc_url = $this->pro_mothership . '/xmlrpc.php';
|
54 |
-
|
55 |
-
|
56 |
-
$this->wordpress_version = (float)preg_replace( "#^([\d\.]*).*$#", '$1', get_bloginfo('version') );
|
57 |
|
58 |
// Retrieve Pro Credentials
|
59 |
$creds = get_option($this->pro_cred_store);
|
@@ -62,26 +60,39 @@ class PrliUpdate
|
|
62 |
extract($creds);
|
63 |
$this->pro_username = ((isset($username) and !empty($username))?$username:'');
|
64 |
$this->pro_password = ((isset($password) and !empty($password))?$password:'');
|
65 |
-
|
66 |
-
// Plugin Update Actions -- gotta make sure the right url is used with pro ... don't want any downgrades of course
|
67 |
-
add_action('update_option_update_plugins', array($this, 'check_for_update_now')); // for WordPress 2.7
|
68 |
-
add_action('update_option__transient_update_plugins', array($this, 'check_for_update_now')); // for WordPress 2.8
|
69 |
-
add_action("admin_init", array($this, 'periodically_check_for_update'));
|
70 |
}
|
|
|
|
|
|
|
71 |
}
|
72 |
-
|
73 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
{
|
75 |
return file_exists($this->pro_script);
|
76 |
}
|
77 |
-
|
78 |
-
function pro_is_authorized($force_check=false)
|
79 |
{
|
80 |
if( !empty($this->pro_username) and
|
81 |
!empty($this->pro_password) )
|
82 |
{
|
83 |
$authorized = get_option($this->pro_auth_store);
|
84 |
-
if(!$force_check and isset($authorized))
|
85 |
return $authorized;
|
86 |
else
|
87 |
{
|
@@ -93,13 +104,13 @@ class PrliUpdate
|
|
93 |
|
94 |
return false;
|
95 |
}
|
96 |
-
|
97 |
-
function pro_is_installed_and_authorized()
|
98 |
{
|
99 |
return ($this->pro_is_installed() and $this->pro_is_authorized());
|
100 |
}
|
101 |
-
|
102 |
-
function authorize_user($username, $password)
|
103 |
{
|
104 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
105 |
|
@@ -111,7 +122,7 @@ class PrliUpdate
|
|
111 |
return $client->getResponse();
|
112 |
}
|
113 |
|
114 |
-
function user_allowed_to_download()
|
115 |
{
|
116 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
117 |
|
@@ -122,8 +133,8 @@ class PrliUpdate
|
|
122 |
|
123 |
return $client->getResponse();
|
124 |
}
|
125 |
-
|
126 |
-
function pro_cred_form()
|
127 |
{
|
128 |
if(isset($_POST) and
|
129 |
isset($_POST['process_cred_form']) and
|
@@ -138,6 +149,16 @@ class PrliUpdate
|
|
138 |
?>
|
139 |
<div id="message" class="updated fade">
|
140 |
<strong><?php printf(__('Your Username & Password was accepted<br/>Now you can %1$sUpgrade Automatically!%2$s', 'pretty-link'), "<a href=\"{$inst_install_url}\">","</a>"); ?></strong>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
</div>
|
142 |
<?php
|
143 |
}
|
@@ -156,13 +177,14 @@ class PrliUpdate
|
|
156 |
|
157 |
$this->display_pro_cred_form();
|
158 |
}
|
159 |
-
|
160 |
-
function display_pro_cred_form()
|
161 |
{
|
162 |
// Yah, this is the view for the credentials form -- this class isn't a true model
|
|
|
163 |
extract($this->get_pro_cred_form_vals());
|
164 |
?>
|
165 |
-
<form name="cred_form" method="post" action="">
|
166 |
<input type="hidden" name="process_cred_form" value="Y">
|
167 |
<?php wp_nonce_field('cred_form'); ?>
|
168 |
|
@@ -186,49 +208,51 @@ class PrliUpdate
|
|
186 |
</form>
|
187 |
<?php
|
188 |
}
|
189 |
-
|
190 |
-
function process_pro_cred_form()
|
191 |
{
|
192 |
$creds = $this->get_pro_cred_form_vals();
|
193 |
$user_authorized = $this->authorize_user($creds['username'], $creds['password']);
|
194 |
-
|
195 |
if(!empty($user_authorized) and $user_authorized)
|
196 |
{
|
197 |
update_option($this->pro_cred_store, $creds);
|
198 |
update_option($this->pro_auth_store, $user_authorized);
|
199 |
-
|
200 |
extract($creds);
|
201 |
$this->pro_username = ((isset($username) and !empty($username))?$username:'');
|
202 |
$this->pro_password = ((isset($password) and !empty($password))?$password:'');
|
203 |
-
|
204 |
-
if(!$this->pro_is_installed())
|
205 |
-
|
|
|
|
|
206 |
}
|
207 |
-
|
208 |
return $user_authorized;
|
209 |
}
|
210 |
|
211 |
-
function get_pro_cred_form_vals()
|
212 |
{
|
213 |
$username = ((isset($_POST[$this->pro_username_str]))?$_POST[$this->pro_username_str]:$this->pro_username);
|
214 |
$password = ((isset($_POST[$this->pro_password_str]))?$_POST[$this->pro_password_str]:$this->pro_password);
|
215 |
-
|
216 |
return compact('username','password');
|
217 |
}
|
218 |
-
|
219 |
-
function get_download_url($version)
|
220 |
{
|
221 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
222 |
|
223 |
$client = new IXR_Client( $this->pro_mothership_xmlrpc_url );
|
224 |
|
225 |
-
if( !$client->query( 'proplug.
|
226 |
return false;
|
227 |
|
228 |
-
return
|
229 |
}
|
230 |
-
|
231 |
-
function get_current_version()
|
232 |
{
|
233 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
234 |
|
@@ -239,92 +263,42 @@ class PrliUpdate
|
|
239 |
|
240 |
return $client->getResponse();
|
241 |
}
|
242 |
-
|
243 |
-
function queue_update($force=false)
|
244 |
-
{
|
245 |
-
static $already_set_option, $already_set_transient, $already_set_site_transient;
|
246 |
-
|
247 |
-
if(!is_admin())
|
248 |
-
return;
|
249 |
-
|
250 |
-
// Make sure this method doesn't check back with the mothership too often
|
251 |
-
if($already_set_option or $already_set_transient or $already_set_site_transient)
|
252 |
-
return;
|
253 |
|
|
|
|
|
254 |
if($this->pro_is_authorized())
|
255 |
{
|
256 |
// If pro is authorized but not installed then we need to force an upgrade
|
257 |
if(!$this->pro_is_installed())
|
258 |
$force=true;
|
259 |
-
|
260 |
-
if($this->wordpress_version >= 3.0)
|
261 |
-
$plugin_updates = get_site_transient("update_plugins");
|
262 |
-
else
|
263 |
-
{
|
264 |
-
if(function_exists('get_transient'))
|
265 |
-
$plugin_updates = get_transient("update_plugins");
|
266 |
-
else
|
267 |
-
$plugin_updates = get_option("update_plugins");
|
268 |
-
}
|
269 |
-
|
270 |
$curr_version = $this->get_current_version();
|
271 |
-
$installed_version = $
|
272 |
-
|
273 |
-
if( $force or ( $curr_version
|
274 |
{
|
275 |
$download_url = $this->get_download_url($curr_version);
|
276 |
|
277 |
if(!empty($download_url) and $download_url and $this->user_allowed_to_download())
|
278 |
-
{
|
279 |
-
if(isset($
|
280 |
-
unset($
|
281 |
|
282 |
-
$
|
283 |
-
$
|
284 |
-
$
|
285 |
-
$
|
286 |
-
$
|
287 |
-
$
|
288 |
}
|
289 |
}
|
290 |
else
|
291 |
{
|
292 |
-
if(isset($
|
293 |
-
unset($
|
294 |
-
}
|
295 |
-
|
296 |
-
if( ( $this->wordpress_version >= 3.0 ) and !$already_set_site_transient )
|
297 |
-
{
|
298 |
-
$already_set_site_transient = true;
|
299 |
-
set_site_transient("update_plugins", $plugin_updates); // for WordPress 3.0
|
300 |
-
}
|
301 |
-
else if( function_exists('set_transient') and !$already_set_transient )
|
302 |
-
{
|
303 |
-
$already_set_transient = true;
|
304 |
-
set_transient("update_plugins", $plugin_updates); // for WordPress 2.8+
|
305 |
-
}
|
306 |
-
else if( !$already_set_option )
|
307 |
-
{
|
308 |
-
$already_set_option = true;
|
309 |
-
update_option("update_plugins", $plugin_updates); // for WordPress 2.7+
|
310 |
}
|
311 |
}
|
312 |
-
}
|
313 |
-
|
314 |
-
function check_for_update_now()
|
315 |
-
{
|
316 |
-
$this->queue_update();
|
317 |
-
}
|
318 |
|
319 |
-
|
320 |
-
{
|
321 |
-
$last_checked = get_option($this->pro_last_checked_store);
|
322 |
-
|
323 |
-
if(!$last_checked or ((time() - $last_checked) >= $this->pro_check_interval))
|
324 |
-
{
|
325 |
-
$this->queue_update();
|
326 |
-
update_option($this->pro_last_checked_store, time());
|
327 |
-
}
|
328 |
}
|
329 |
}
|
330 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH')) die('You are not allowed to call this page directly.');
|
3 |
|
4 |
/** Okay, this class is not a pure model -- it contains all the functions
|
5 |
+
* necessary to successfully provide an update mechanism for Pretty Link Pro
|
6 |
*/
|
7 |
class PrliUpdate
|
8 |
{
|
9 |
+
public $plugin_name;
|
10 |
+
public $plugin_slug;
|
11 |
+
public $plugin_url;
|
12 |
+
public $pro_script;
|
13 |
+
public $pro_mothership;
|
14 |
+
public $get_started_page;
|
15 |
|
16 |
+
public $pro_cred_store;
|
17 |
+
public $pro_auth_store;
|
18 |
|
19 |
+
public $pro_username_label;
|
20 |
+
public $pro_password_label;
|
21 |
|
22 |
+
public $pro_username_str;
|
23 |
+
public $pro_password_str;
|
24 |
|
25 |
+
public $pro_error_message_str;
|
26 |
+
|
27 |
+
public $activation_order;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
+
public $pro_username;
|
30 |
+
public $pro_password;
|
31 |
+
public $pro_mothership_xmlrpc_url;
|
32 |
+
|
33 |
+
function __construct()
|
34 |
{
|
35 |
// Where all the vitals are defined for this plugin
|
36 |
$this->plugin_name = 'pretty-link/pretty-link.php';
|
37 |
$this->plugin_slug = 'pretty-link';
|
38 |
+
$this->plugin_url = 'http://prettylinkpro.com';
|
39 |
$this->pro_script = PRLI_PATH . '/pro/pretty-link-pro.php';
|
40 |
$this->pro_mothership = 'http://prettylinkpro.com';
|
41 |
+
$this->get_started_page = 'pretty-link/prli-links.php';
|
42 |
$this->pro_cred_store = 'prlipro-credentials';
|
43 |
$this->pro_auth_store = 'prlipro_activated';
|
|
|
44 |
$this->pro_username_label = __('Pretty Link Pro Username', 'pretty-link');
|
45 |
$this->pro_password_label = __('Pretty Link Pro Password', 'pretty-link');
|
46 |
$this->pro_error_message_str = __('Your Pretty Link Pro Username or Password was Invalid', 'pretty-link');
|
47 |
+
$this->activation_order = 'dontcare';
|
48 |
|
49 |
// Don't modify these variables
|
|
|
50 |
$this->pro_username_str = 'proplug-username';
|
51 |
$this->pro_password_str = 'proplug-password';
|
52 |
$this->pro_mothership_xmlrpc_url = $this->pro_mothership . '/xmlrpc.php';
|
53 |
+
|
54 |
+
add_filter( 'pre_set_site_transient_update_plugins', array( &$this, 'queue_update' ) );
|
|
|
55 |
|
56 |
// Retrieve Pro Credentials
|
57 |
$creds = get_option($this->pro_cred_store);
|
60 |
extract($creds);
|
61 |
$this->pro_username = ((isset($username) and !empty($username))?$username:'');
|
62 |
$this->pro_password = ((isset($password) and !empty($password))?$password:'');
|
|
|
|
|
|
|
|
|
|
|
63 |
}
|
64 |
+
|
65 |
+
if(isset($this->activation_order) and ($this->activation_order != 'dontcare'))
|
66 |
+
add_action("activated_plugin", array(&$this,'reorder_activation'));
|
67 |
}
|
68 |
+
|
69 |
+
public function reorder_activation() {
|
70 |
+
// ensure path to this file is via main wp plugin path
|
71 |
+
$this_plugin = plugin_basename(trim($this->pro_script));
|
72 |
+
$active_plugins = get_option('active_plugins');
|
73 |
+
$this_plugin_key = array_search($this_plugin, $active_plugins);
|
74 |
+
array_splice($active_plugins, $this_plugin_key, 1);
|
75 |
+
|
76 |
+
if($this->activation_order == 'last')
|
77 |
+
array_push($active_plugins, $this_plugin);
|
78 |
+
else
|
79 |
+
array_unshift($active_plugins, $this_plugin);
|
80 |
+
|
81 |
+
update_option('active_plugins', $active_plugins);
|
82 |
+
}
|
83 |
+
|
84 |
+
public function pro_is_installed()
|
85 |
{
|
86 |
return file_exists($this->pro_script);
|
87 |
}
|
88 |
+
|
89 |
+
public function pro_is_authorized($force_check=false)
|
90 |
{
|
91 |
if( !empty($this->pro_username) and
|
92 |
!empty($this->pro_password) )
|
93 |
{
|
94 |
$authorized = get_option($this->pro_auth_store);
|
95 |
+
if(!$force_check and isset($authorized) and ($authorized===true or $authorized===false))
|
96 |
return $authorized;
|
97 |
else
|
98 |
{
|
104 |
|
105 |
return false;
|
106 |
}
|
107 |
+
|
108 |
+
public function pro_is_installed_and_authorized()
|
109 |
{
|
110 |
return ($this->pro_is_installed() and $this->pro_is_authorized());
|
111 |
}
|
112 |
+
|
113 |
+
public function authorize_user($username, $password)
|
114 |
{
|
115 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
116 |
|
122 |
return $client->getResponse();
|
123 |
}
|
124 |
|
125 |
+
public function user_allowed_to_download()
|
126 |
{
|
127 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
128 |
|
133 |
|
134 |
return $client->getResponse();
|
135 |
}
|
136 |
+
|
137 |
+
public function pro_cred_form()
|
138 |
{
|
139 |
if(isset($_POST) and
|
140 |
isset($_POST['process_cred_form']) and
|
149 |
?>
|
150 |
<div id="message" class="updated fade">
|
151 |
<strong><?php printf(__('Your Username & Password was accepted<br/>Now you can %1$sUpgrade Automatically!%2$s', 'pretty-link'), "<a href=\"{$inst_install_url}\">","</a>"); ?></strong>
|
152 |
+
</div>
|
153 |
+
<?php
|
154 |
+
}
|
155 |
+
else
|
156 |
+
{
|
157 |
+
$plugin_url = wp_nonce_url("admin.php?page={$this->get_started_page}", "configure-plugin_{$this->get_started_page}");
|
158 |
+
|
159 |
+
?>
|
160 |
+
<div id="message" class="updated fade">
|
161 |
+
<strong><?php printf(__('Your Username & Password was accepted<br/>Now you can %1$sGet Started!%2$s', 'pretty-link'), "<a href=\"{$plugin_url}\">","</a>"); ?></strong>
|
162 |
</div>
|
163 |
<?php
|
164 |
}
|
177 |
|
178 |
$this->display_pro_cred_form();
|
179 |
}
|
180 |
+
|
181 |
+
public function display_pro_cred_form()
|
182 |
{
|
183 |
// Yah, this is the view for the credentials form -- this class isn't a true model
|
184 |
+
$this_uri = preg_replace('#&.*?$#', '', str_replace( '%7E', '~', $_SERVER['REQUEST_URI']));
|
185 |
extract($this->get_pro_cred_form_vals());
|
186 |
?>
|
187 |
+
<form name="cred_form" method="post" action="<?php echo $this_uri; ?>">
|
188 |
<input type="hidden" name="process_cred_form" value="Y">
|
189 |
<?php wp_nonce_field('cred_form'); ?>
|
190 |
|
208 |
</form>
|
209 |
<?php
|
210 |
}
|
211 |
+
|
212 |
+
public function process_pro_cred_form()
|
213 |
{
|
214 |
$creds = $this->get_pro_cred_form_vals();
|
215 |
$user_authorized = $this->authorize_user($creds['username'], $creds['password']);
|
216 |
+
|
217 |
if(!empty($user_authorized) and $user_authorized)
|
218 |
{
|
219 |
update_option($this->pro_cred_store, $creds);
|
220 |
update_option($this->pro_auth_store, $user_authorized);
|
221 |
+
|
222 |
extract($creds);
|
223 |
$this->pro_username = ((isset($username) and !empty($username))?$username:'');
|
224 |
$this->pro_password = ((isset($password) and !empty($password))?$password:'');
|
225 |
+
|
226 |
+
if(!$this->pro_is_installed()) {
|
227 |
+
$transient = get_site_transient("update_plugins");
|
228 |
+
set_site_transient("update_plugins",$this->queue_update($transient, true));
|
229 |
+
}
|
230 |
}
|
231 |
+
|
232 |
return $user_authorized;
|
233 |
}
|
234 |
|
235 |
+
public function get_pro_cred_form_vals()
|
236 |
{
|
237 |
$username = ((isset($_POST[$this->pro_username_str]))?$_POST[$this->pro_username_str]:$this->pro_username);
|
238 |
$password = ((isset($_POST[$this->pro_password_str]))?$_POST[$this->pro_password_str]:$this->pro_password);
|
239 |
+
|
240 |
return compact('username','password');
|
241 |
}
|
242 |
+
|
243 |
+
public function get_download_url($version)
|
244 |
{
|
245 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
246 |
|
247 |
$client = new IXR_Client( $this->pro_mothership_xmlrpc_url );
|
248 |
|
249 |
+
if( !$client->query( 'proplug.get_download_url', $this->pro_username, $this->pro_password, $version ) )
|
250 |
return false;
|
251 |
|
252 |
+
return $client->getResponse();
|
253 |
}
|
254 |
+
|
255 |
+
public function get_current_version()
|
256 |
{
|
257 |
include_once( ABSPATH . 'wp-includes/class-IXR.php' );
|
258 |
|
263 |
|
264 |
return $client->getResponse();
|
265 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
|
267 |
+
public function queue_update($transient, $force=false)
|
268 |
+
{
|
269 |
if($this->pro_is_authorized())
|
270 |
{
|
271 |
// If pro is authorized but not installed then we need to force an upgrade
|
272 |
if(!$this->pro_is_installed())
|
273 |
$force=true;
|
274 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
$curr_version = $this->get_current_version();
|
276 |
+
$installed_version = $transient->checked[$this->plugin_name];
|
277 |
+
|
278 |
+
if( $force or version_compare( $curr_version, $installed_version, '>' ) )
|
279 |
{
|
280 |
$download_url = $this->get_download_url($curr_version);
|
281 |
|
282 |
if(!empty($download_url) and $download_url and $this->user_allowed_to_download())
|
283 |
+
{
|
284 |
+
if(isset($transient->response[$this->plugin_name]))
|
285 |
+
unset($transient->response[$this->plugin_name]);
|
286 |
|
287 |
+
$transient->response[$this->plugin_name] = new stdClass();
|
288 |
+
$transient->response[$this->plugin_name]->id = '0';
|
289 |
+
$transient->response[$this->plugin_name]->slug = $this->plugin_slug;
|
290 |
+
$transient->response[$this->plugin_name]->new_version = $curr_version;
|
291 |
+
$transient->response[$this->plugin_name]->url = $this->plugin_url;
|
292 |
+
$transient->response[$this->plugin_name]->package = $download_url;
|
293 |
}
|
294 |
}
|
295 |
else
|
296 |
{
|
297 |
+
if(isset($transient->response[$this->plugin_name]))
|
298 |
+
unset($transient->response[$this->plugin_name]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
299 |
}
|
300 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
301 |
|
302 |
+
return $transient;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
303 |
}
|
304 |
}
|
|
classes/models/PrliUrlUtils.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
class PrliUrlUtils {
|
3 |
|
4 |
function get_title($url, $slug='')
|
@@ -160,5 +163,4 @@ class PrliUrlUtils {
|
|
160 |
else
|
161 |
return trim($contents);
|
162 |
}
|
163 |
-
}
|
164 |
-
?>
|
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='')
|
163 |
else
|
164 |
return trim($contents);
|
165 |
}
|
166 |
+
}
|
|
classes/models/PrliUtils.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
require_once('models.inc.php');
|
3 |
|
4 |
class PrliUtils
|
@@ -824,6 +827,12 @@ class PrliUtils
|
|
824 |
dbDelta($sql);
|
825 |
}
|
826 |
|
|
|
|
|
|
|
|
|
|
|
|
|
827 |
/***** SAVE DB VERSION *****/
|
828 |
delete_option('prlipro_db_version');
|
829 |
add_option('prlipro_db_version',$prlipro_db_version);
|
@@ -1174,5 +1183,15 @@ class PrliUtils
|
|
1174 |
$wpdb->query($query);
|
1175 |
}
|
1176 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1177 |
}
|
1178 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
require_once('models.inc.php');
|
6 |
|
7 |
class PrliUtils
|
827 |
dbDelta($sql);
|
828 |
}
|
829 |
|
830 |
+
if($old_pro_db_version < 3) {
|
831 |
+
global $prli_keyword;
|
832 |
+
// Reset the whole keyword cache for good
|
833 |
+
$prli_keyword->deleteContentCache();
|
834 |
+
}
|
835 |
+
|
836 |
/***** SAVE DB VERSION *****/
|
837 |
delete_option('prlipro_db_version');
|
838 |
add_option('prlipro_db_version',$prlipro_db_version);
|
1183 |
$wpdb->query($query);
|
1184 |
}
|
1185 |
}
|
1186 |
+
|
1187 |
+
public static function gen_random_string($length = 4)
|
1188 |
+
{
|
1189 |
+
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
|
1190 |
+
$string = '';
|
1191 |
+
|
1192 |
+
for($p = 0; $p < $length; $p++)
|
1193 |
+
$string .= $characters[mt_rand(0, strlen($characters))];
|
1194 |
+
|
1195 |
+
return $string;
|
1196 |
+
}
|
1197 |
}
|
|
classes/models/models.inc.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
require_once(PRLI_MODELS_PATH.'/PrliLink.php');
|
3 |
require_once(PRLI_MODELS_PATH.'/PrliClick.php');
|
4 |
require_once(PRLI_MODELS_PATH.'/PrliGroup.php');
|
@@ -27,7 +30,7 @@ global $prli_db_version;
|
|
27 |
global $prlipro_db_version;
|
28 |
|
29 |
$prli_db_version = 12; // this is the version of the database we're moving to
|
30 |
-
$prlipro_db_version =
|
31 |
|
32 |
// Load Controller(s)
|
33 |
require_once( PRLI_CONTROLLERS_PATH.'/PrliAppController.php');
|
@@ -36,33 +39,37 @@ global $prli_app_controller;
|
|
36 |
|
37 |
$prli_app_controller = new PrliAppController();
|
38 |
|
39 |
-
function prli_get_main_message(
|
40 |
{
|
41 |
-
global $prli_update
|
42 |
-
include_once(ABSPATH."/wp-includes/class-IXR.php");
|
43 |
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
-
|
47 |
-
$messages = get_site_transient('_prli_messages'); // for WordPress 3.0
|
48 |
-
else
|
49 |
-
$messages = get_transient('_prli_messages'); // for WordPress 2.8+
|
50 |
|
51 |
// if the messages array has expired go back to the mothership
|
52 |
-
if(
|
53 |
{
|
54 |
-
|
55 |
-
|
56 |
-
$messages = $client->getResponse();
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
|
|
|
|
64 |
else
|
65 |
-
|
|
|
|
|
66 |
}
|
67 |
|
68 |
if(empty($messages) or !$messages or !is_array($messages))
|
@@ -70,5 +77,3 @@ function prli_get_main_message( $message = "Get started by <a href=\"?page=prett
|
|
70 |
else
|
71 |
return $messages[array_rand($messages)];
|
72 |
}
|
73 |
-
|
74 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
require_once(PRLI_MODELS_PATH.'/PrliLink.php');
|
6 |
require_once(PRLI_MODELS_PATH.'/PrliClick.php');
|
7 |
require_once(PRLI_MODELS_PATH.'/PrliGroup.php');
|
30 |
global $prlipro_db_version;
|
31 |
|
32 |
$prli_db_version = 12; // this is the version of the database we're moving to
|
33 |
+
$prlipro_db_version = 3; // this is the version of the database we're moving to
|
34 |
|
35 |
// Load Controller(s)
|
36 |
require_once( PRLI_CONTROLLERS_PATH.'/PrliAppController.php');
|
39 |
|
40 |
$prli_app_controller = new PrliAppController();
|
41 |
|
42 |
+
function prli_get_main_message($message='',$expiration=1800) // Get new messages every 1/2 hour
|
43 |
{
|
44 |
+
global $prli_update;
|
|
|
45 |
|
46 |
+
// Set the default message
|
47 |
+
if(empty($message)) {
|
48 |
+
$message = __( "Get started by <a href=\"?page=pretty-link/prli-links.php&action=new\">" .
|
49 |
+
"adding a URL</a> that you want to turn into a pretty link.<br/>" .
|
50 |
+
"Come back to see how many times it was clicked." , 'pretty-link');
|
51 |
+
}
|
52 |
|
53 |
+
$messages = get_site_transient('_prli_messages');
|
|
|
|
|
|
|
54 |
|
55 |
// if the messages array has expired go back to the mothership
|
56 |
+
if(!$messages)
|
57 |
{
|
58 |
+
$remote_controller = !$prli_update->pro_is_installed_and_authorized() ? 'prlipro' : 'prli';
|
59 |
+
$message_mothership = "http://prettylinkpro.com/index.php?controller={$remote_controller}&action=json_messages";
|
|
|
60 |
|
61 |
+
if( !class_exists( 'WP_Http' ) )
|
62 |
+
include_once( ABSPATH . WPINC . '/class-http.php' );
|
63 |
+
|
64 |
+
$http = new WP_Http;
|
65 |
+
$response = $http->request( $message_mothership );
|
66 |
+
|
67 |
+
if(isset($response) and isset($response['body']) and !empty($response['body']))
|
68 |
+
$messages = json_decode($response['body']);
|
69 |
else
|
70 |
+
$messages = array($message);
|
71 |
+
|
72 |
+
set_site_transient("_prli_messages", $messages, $expiration);
|
73 |
}
|
74 |
|
75 |
if(empty($messages) or !$messages or !is_array($messages))
|
77 |
else
|
78 |
return $messages[array_rand($messages)];
|
79 |
}
|
|
|
|
classes/views/prli-clicks/csv.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
if(is_user_logged_in() and current_user_can('level_10'))
|
3 |
{
|
4 |
|
@@ -19,4 +22,4 @@
|
|
19 |
}
|
20 |
}
|
21 |
else
|
22 |
-
header("Location: " . $prli_blogurl);
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
if(is_user_logged_in() and current_user_can('level_10'))
|
6 |
{
|
7 |
|
22 |
}
|
23 |
}
|
24 |
else
|
25 |
+
header("Location: " . $prli_blogurl);
|
classes/views/prli-clicks/csv_download.php
CHANGED
@@ -33,4 +33,4 @@ for($i=$hit_page_count; $i>0; $i--)
|
|
33 |
}
|
34 |
?>
|
35 |
</ul>
|
36 |
-
</div>
|
33 |
}
|
34 |
?>
|
35 |
</ul>
|
36 |
+
</div>
|
classes/views/prli-clicks/head.php
CHANGED
@@ -103,4 +103,4 @@ function moo() {
|
|
103 |
|
104 |
var data = <?php echo $prli_click->setupClickLineGraph($start_timestamp,$end_timestamp,$link_id,$type,$group); ?>;
|
105 |
|
106 |
-
</script>
|
103 |
|
104 |
var data = <?php echo $prli_click->setupClickLineGraph($start_timestamp,$end_timestamp,$link_id,$type,$group); ?>;
|
105 |
|
106 |
+
</script>
|
classes/views/prli-clicks/list.php
CHANGED
@@ -167,4 +167,4 @@
|
|
167 |
require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
|
168 |
?>
|
169 |
|
170 |
-
</div>
|
167 |
require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
|
168 |
?>
|
169 |
|
170 |
+
</div>
|
classes/views/prli-dashboard-widget/widget.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
|
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
|
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">
|
1 |
<?php if(!defined('ABSPATH')) {die('You are not allowed to call this page directly.');} ?>
|
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">
|
classes/views/prli-groups/edit.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/> Pretty Link: Edit Group</h2>
|
3 |
|
@@ -55,4 +60,4 @@
|
|
55 |
</p>
|
56 |
|
57 |
</form>
|
58 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/> Pretty Link: Edit Group</h2>
|
8 |
|
60 |
</p>
|
61 |
|
62 |
</form>
|
63 |
+
</div>
|
classes/views/prli-groups/head.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
|
2 |
<script type="text/javascript">
|
3 |
jQuery(document).ready(function() {
|
@@ -32,4 +37,4 @@ jQuery(document).ready(function() {
|
|
32 |
.group_actions {
|
33 |
padding-top: 5px;
|
34 |
}
|
35 |
-
</style>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<script type="text/javascript" src="<?php echo PRLI_URL; ?>/includes/jquery/js/jquery-1.3.2.min.js"></script>
|
7 |
<script type="text/javascript">
|
8 |
jQuery(document).ready(function() {
|
37 |
.group_actions {
|
38 |
padding-top: 5px;
|
39 |
}
|
40 |
+
</style>
|
classes/views/prli-groups/list.php
CHANGED
@@ -1,3 +1,7 @@
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<?php
|
3 |
require(PRLI_VIEWS_PATH.'/shared/nav.php');
|
@@ -82,4 +86,4 @@
|
|
82 |
require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
|
83 |
?>
|
84 |
|
85 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
<div class="wrap">
|
6 |
<?php
|
7 |
require(PRLI_VIEWS_PATH.'/shared/nav.php');
|
86 |
require(PRLI_VIEWS_PATH.'/shared/table-nav.php');
|
87 |
?>
|
88 |
|
89 |
+
</div>
|
classes/views/prli-groups/new.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/> Pretty Link: Add Group</h2>
|
3 |
|
@@ -56,4 +61,4 @@
|
|
56 |
</p>
|
57 |
|
58 |
</form>
|
59 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/> Pretty Link: Add Group</h2>
|
8 |
|
61 |
</p>
|
62 |
|
63 |
</form>
|
64 |
+
</div>
|
classes/views/prli-links/bar.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2 |
<html>
|
3 |
<head>
|
@@ -10,4 +15,4 @@
|
|
10 |
<frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
|
11 |
<noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
|
12 |
</frameset>
|
13 |
-
</html>
|
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>
|
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/edit.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/> Pretty Link: Edit Link</h2>
|
3 |
|
@@ -19,4 +24,4 @@
|
|
19 |
</p>
|
20 |
|
21 |
</form>
|
22 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<h2><img src="<?php echo PRLI_IMAGES_URL.'/pretty-link-med.png'; ?>"/> Pretty Link: Edit Link</h2>
|
8 |
|
24 |
</p>
|
25 |
|
26 |
</form>
|
27 |
+
</div>
|
classes/views/prli-links/form.php
CHANGED
@@ -95,5 +95,4 @@
|
|
95 |
</table>
|
96 |
<?php
|
97 |
// Add stuff to the form here
|
98 |
-
do_action('prli_link_fields',$id);
|
99 |
-
?>
|
95 |
</table>
|
96 |
<?php
|
97 |
// Add stuff to the form here
|
98 |
+
do_action('prli_link_fields',$id);
|
|
classes/views/prli-links/head.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<script type="text/javascript">
|
2 |
jQuery(document).ready(function() {
|
3 |
jQuery('.link_actions').hide();
|
@@ -88,4 +93,4 @@ ul.pane li {
|
|
88 |
.link_actions {
|
89 |
padding-top: 5px;
|
90 |
}
|
91 |
-
</style>
|
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();
|
93 |
.link_actions {
|
94 |
padding-top: 5px;
|
95 |
}
|
96 |
+
</style>
|
classes/views/prli-links/list.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<?php
|
3 |
require(PRLI_VIEWS_PATH.'/shared/nav.php');
|
@@ -188,4 +193,4 @@
|
|
188 |
<?php $footer = true; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
|
189 |
</form>
|
190 |
|
191 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<?php
|
8 |
require(PRLI_VIEWS_PATH.'/shared/nav.php');
|
193 |
<?php $footer = true; require(PRLI_VIEWS_PATH.'/shared/link-table-nav.php'); ?>
|
194 |
</form>
|
195 |
|
196 |
+
</div>
|
classes/views/prli-links/new.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<h2><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-med.png'; ?>"/> Pretty Link: Add Link</h2>
|
3 |
|
@@ -19,4 +24,4 @@
|
|
19 |
</p>
|
20 |
|
21 |
</form>
|
22 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<h2><img src="<?php echo PRLI_IMAGES_URL . '/pretty-link-med.png'; ?>"/> Pretty Link: Add Link</h2>
|
8 |
|
24 |
</p>
|
25 |
|
26 |
</form>
|
27 |
+
</div>
|
classes/views/prli-links/ultra-cloak.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2 |
<html>
|
3 |
<head>
|
@@ -9,4 +14,4 @@
|
|
9 |
<frame src="<?php echo $pretty_link_url.$param_string; ?>" frameborder=0 marginwidth=0 marginheight=0>
|
10 |
<noframes>Your browser does not support frames. Click <a href="<?php echo $pretty_link_url.$param_string; ?>">here</a> to view the page.</noframes>
|
11 |
</frameset>
|
12 |
-
</html>
|
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>
|
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
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<div id="icon-options-general" class="icon32"><br /></div>
|
3 |
<h2 id="prli_title">Pretty Link: Options</h2>
|
@@ -107,4 +112,4 @@ if(!$permalink_structure or empty($permalink_structure))
|
|
107 |
<br/><span class="description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
|
108 |
|
109 |
</form>
|
110 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<div id="icon-options-general" class="icon32"><br /></div>
|
8 |
<h2 id="prli_title">Pretty Link: Options</h2>
|
112 |
<br/><span class="description">Seriously, only click this link if you want to delete all the Hit data in your database.</span></p>
|
113 |
|
114 |
</form>
|
115 |
+
</div>
|
classes/views/prli-options/head.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<script type="text/javascript">
|
2 |
jQuery(document).ready(function() {
|
3 |
<?php do_action('prli_options_js'); ?>
|
@@ -44,4 +49,5 @@ jQuery(document).ready(function() {
|
|
44 |
}
|
45 |
</style>
|
46 |
|
47 |
-
<?php
|
|
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 |
<?php do_action('prli_options_js'); ?>
|
49 |
}
|
50 |
</style>
|
51 |
|
52 |
+
<?php
|
53 |
+
do_action('prli-options-head');
|
classes/views/prli-options/pro-settings.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<div id="icon-options-general" class="icon32"><br /></div>
|
3 |
<h2 id="prli_title">Pretty Link: Pro Account Information</h2>
|
@@ -15,4 +20,4 @@
|
|
15 |
<a href="http://prettylinkpro.com">Pretty Link Pro</a> will help you automate, share, test and get more clicks & conversions from your Pretty Links!<br/><br/><a href="http://prettylinkpro.com">Learn More »</a></p>
|
16 |
<?php } ?>
|
17 |
|
18 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<div id="icon-options-general" class="icon32"><br /></div>
|
8 |
<h2 id="prli_title">Pretty Link: Pro Account Information</h2>
|
20 |
<a href="http://prettylinkpro.com">Pretty Link Pro</a> will help you automate, share, test and get more clicks & conversions from your Pretty Links!<br/><br/><a href="http://prettylinkpro.com">Learn More »</a></p>
|
21 |
<?php } ?>
|
22 |
|
23 |
+
</div>
|
classes/views/prli-tools/form.php
CHANGED
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<div class="wrap">
|
2 |
<script type="text/javascript">
|
3 |
function toggle_iphone_instructions()
|
@@ -26,4 +31,4 @@ function toggle_iphone_instructions()
|
|
26 |
</ol>
|
27 |
</div>
|
28 |
<?php do_action('prli-add-tools'); ?>
|
29 |
-
</div>
|
1 |
+
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
?>
|
5 |
+
|
6 |
<div class="wrap">
|
7 |
<script type="text/javascript">
|
8 |
function toggle_iphone_instructions()
|
31 |
</ol>
|
32 |
</div>
|
33 |
<?php do_action('prli-add-tools'); ?>
|
34 |
+
</div>
|
classes/views/shared/link-table-nav.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
// Only show the pager bar if there is more than 1 page
|
3 |
if($page_count > 1)
|
4 |
{
|
@@ -98,5 +101,4 @@
|
|
98 |
<?php do_action('prli-link-list-actions', $footer); ?>
|
99 |
</div>
|
100 |
<?php
|
101 |
-
}
|
102 |
-
?>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
// Only show the pager bar if there is more than 1 page
|
6 |
if($page_count > 1)
|
7 |
{
|
101 |
<?php do_action('prli-link-list-actions', $footer); ?>
|
102 |
</div>
|
103 |
<?php
|
104 |
+
}
|
|
classes/views/shared/nav.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
global $prli_update;
|
3 |
|
4 |
if($prli_update->pro_is_installed_and_authorized())
|
@@ -6,4 +9,4 @@
|
|
6 |
else
|
7 |
$support_link = " | <a href=\"http://prettylinkpro.com\">" . __('Upgrade to Pro', 'pretty-link') . '</a>';
|
8 |
?>
|
9 |
-
<p style="font-size: 14px; font-weight: bold; float: right; text-align: right; padding-top: 0px; padding-right: 10px;"><?php _e('Connect', 'pretty-link'); ?>: <a href="http://twitter.com/blairwilli"><img src="<?php echo PRLI_IMAGES_URL; ?>/twitter_32.png" style="width: 24px; height: 24px;" /></a> <a href="http://www.facebook.com/pages/Pretty-Link/283252860401"><img src="<?php echo PRLI_IMAGES_URL; ?>/facebook_32.png" style="width: 24px; height: 24px;" /></a><br/><?php _e('Get Help', 'pretty-link'); ?>: <a href="http://blairwilliams.com/xba" target="_blank"><?php _e('Tutorials', 'pretty-link'); ?></a><?php echo $support_link; ?> | <a href="http://blairwilliams.com/work"><?php _e('One on One', 'pretty-link'); ?></a></p>
|
1 |
<?php
|
2 |
+
if(!defined('ABSPATH'))
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
+
|
5 |
global $prli_update;
|
6 |
|
7 |
if($prli_update->pro_is_installed_and_authorized())
|
9 |
else
|
10 |
$support_link = " | <a href=\"http://prettylinkpro.com\">" . __('Upgrade to Pro', 'pretty-link') . '</a>';
|
11 |
?>
|
12 |
+
<p style="font-size: 14px; font-weight: bold; float: right; text-align: right; padding-top: 0px; padding-right: 10px;"><?php _e('Connect', 'pretty-link'); ?>: <a href="http://twitter.com/blairwilli"><img src="<?php echo PRLI_IMAGES_URL; ?>/twitter_32.png" style="width: 24px; height: 24px;" /></a> <a href="http://www.facebook.com/pages/Pretty-Link/283252860401"><img src="<?php echo PRLI_IMAGES_URL; ?>/facebook_32.png" style="width: 24px; height: 24px;" /></a><br/><?php _e('Get Help', 'pretty-link'); ?>: <a href="http://blairwilliams.com/xba" target="_blank"><?php _e('Tutorials', 'pretty-link'); ?></a><?php echo $support_link; ?> | <a href="http://blairwilliams.com/work"><?php _e('One on One', 'pretty-link'); ?></a></p>
|
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.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/pretty-link\n"
|
7 |
-
"POT-Creation-Date: 2011-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -12,57 +12,57 @@ msgstr ""
|
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
-
#: prli-pro-settings.php:
|
16 |
msgid ""
|
17 |
"You're almost done!<br/>%1$sFinish your Re-Install of Pretty Link Pro%2$s"
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: prli-pro-settings.php:
|
21 |
msgid "Pretty Link Pro Successfully Uninstalled."
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: prli-options.php:
|
25 |
msgid "Options saved."
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: prli-options.php:
|
29 |
msgid "Hit Database was Cleared."
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: prli-options.php:
|
33 |
msgid "No hits older than 30 days were found, so nothing was deleted"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: prli-options.php:
|
37 |
msgid "No hits older than 90 days were found, so nothing was deleted"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: classes/controllers/PrliAppController.php:
|
41 |
msgid ""
|
42 |
"Database Upgrade is required for Pretty Link to work properly<br/>%1"
|
43 |
"$sAutomatically Upgrade your Database%2$s"
|
44 |
msgstr ""
|
45 |
|
46 |
-
#: classes/controllers/PrliAppController.php:
|
47 |
msgid "Your Database Has Been Successfully Upgraded."
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: classes/views/prli-options/form.php:
|
51 |
msgid "Filter Robots"
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: classes/views/prli-options/form.php:
|
55 |
msgid ""
|
56 |
"Filter known Robots and unidentifiable browser clients from your hit data, "
|
57 |
"stats and reports. <code>IMPORTANT: Any robot hits recorded with any version "
|
58 |
"of Pretty Link before 1.4.22 won't be filtered by this setting.</code>"
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: classes/views/prli-options/form.php:
|
62 |
msgid "Whitelist IP Addresses:"
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: classes/views/prli-options/form.php:
|
66 |
msgid ""
|
67 |
"Enter IP Addresses or IP Ranges you want to always include in your Hit data "
|
68 |
"and Stats even if they are flagged as robots. Each IP Address should be "
|
@@ -70,337 +70,346 @@ msgid ""
|
|
70 |
"192.168.*.*</code>"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: classes/views/prli-options/form.php:
|
74 |
msgid "Tracking Style:"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: classes/views/prli-options/form.php:
|
78 |
msgid ""
|
79 |
"Note: Changing your tracking style can affect the accuracy of your existing "
|
80 |
"statistics."
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: classes/views/prli-options/form.php:
|
84 |
msgid "Normal Tracking"
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: classes/views/prli-options/form.php:
|
88 |
msgid "Extended Tracking (more stats / slower performance)"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: classes/views/prli-options/form.php:
|
92 |
msgid "Simple Click Count Tracking (less stats / faster performance)"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: classes/views/prli-options/form.php:
|
96 |
msgid "Update Options"
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: classes/views/prli-tools/form.php:
|
100 |
msgid "Show iPhone Bookmarklet Instructions"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: classes/views/
|
|
|
|
|
|
|
|
|
104 |
msgid "Pro Manual"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: classes/views/shared/nav.php:
|
108 |
msgid "Upgrade to Pro"
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: classes/views/shared/nav.php:
|
112 |
msgid "Connect"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: classes/views/shared/nav.php:
|
116 |
msgid "Get Help"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: classes/views/shared/nav.php:
|
120 |
msgid "Tutorials"
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: classes/views/shared/nav.php:
|
124 |
msgid "One on One"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: classes/models/PrliUpdate.php:
|
128 |
msgid "Pretty Link Pro Username"
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: classes/models/PrliUpdate.php:
|
132 |
msgid "Pretty Link Pro Password"
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: classes/models/PrliUpdate.php:
|
136 |
msgid "Your Pretty Link Pro Username or Password was Invalid"
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: classes/models/PrliUpdate.php:
|
140 |
msgid ""
|
141 |
"Your Username & Password was accepted<br/>Now you can %1$sUpgrade "
|
142 |
"Automatically!%2$s"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: classes/models/PrliUpdate.php:
|
146 |
-
msgid "
|
|
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: classes/models/PrliUpdate.php:
|
150 |
-
|
151 |
-
msgid "Save"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#:
|
155 |
-
#:
|
156 |
-
|
157 |
-
msgid "Sorry, XML-RPC Not enabled for this website"
|
158 |
msgstr ""
|
159 |
|
160 |
#: prli-xmlrpc.php:22 prli-xmlrpc.php:85 prli-xmlrpc.php:133
|
161 |
#: prli-xmlrpc.php:189 prli-xmlrpc.php:219 prli-xmlrpc.php:248
|
162 |
#: prli-xmlrpc.php:282 prli-xmlrpc.php:315
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
msgid "Sorry, Login failed"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: prli-xmlrpc.php:
|
167 |
-
#: prli-xmlrpc.php:
|
168 |
-
#: prli-xmlrpc.php:
|
169 |
msgid "Sorry, you must be an administrator to access this resource"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: prli-xmlrpc.php:
|
173 |
msgid "You must provide a target URL"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: prli-xmlrpc.php:
|
177 |
msgid "There was an error creating your Pretty Link"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: prli-xmlrpc.php:
|
181 |
msgid "You must provide the id of the link you want to update"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: prli-xmlrpc.php:
|
185 |
msgid "There was an error fetching the Pretty Link Groups"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: prli-xmlrpc.php:
|
189 |
msgid "There was an error fetching the Pretty Links"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: prli-xmlrpc.php:
|
193 |
msgid "Sorry, you must provide a slug to lookup"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: prli-xmlrpc.php:
|
197 |
msgid "There was an error fetching your Pretty Link"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: prli-xmlrpc.php:
|
201 |
msgid "Sorry, you must provide an id to lookup"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: prli-xmlrpc.php:
|
205 |
msgid "There was an error fetching your Pretty Link URL"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: prli-main.php:
|
209 |
msgid ""
|
210 |
"Your Pretty Link Pro installation isn't quite complete yet.<br/>%1"
|
211 |
"$sAutomatically Upgrade to Enable Pretty Link Pro%2$s"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: pro/prlipro-options.php:
|
215 |
msgid "Your Keyword Replacement Cache was successfully deleted"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: pro/prlipro-options.php:
|
219 |
msgid "Your Duplicate Tweets were Successfully Trimmed"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: pro/pretty-link-pro.php:
|
223 |
msgid "Disable Keyword Replacements on this post."
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: pro/pretty-link-pro.php:
|
227 |
msgid "Hits"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: pro/pretty-link-pro.php:
|
231 |
msgid "Uniques"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: pro/pretty-link-pro.php:
|
235 |
msgid ""
|
236 |
"A Pretty Link hasn't been generated for this entry yet. Click \"Update Post"
|
237 |
"\" to generate."
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: pro/pretty-link-pro.php:
|
241 |
msgid "ERROR: Your Pretty Link was unable to be created"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: pro/pretty-link-pro.php:
|
245 |
msgid "Unauthorized"
|
246 |
msgstr ""
|
247 |
|
248 |
-
#: pro/pretty-link-pro.php:
|
249 |
msgid "Alternate Pretty Bar Attribution URL:"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#: pro/pretty-link-pro.php:
|
253 |
msgid "End-Point URL:"
|
254 |
msgstr ""
|
255 |
|
256 |
-
#: pro/pretty-link-pro.php:
|
257 |
msgid "This can be used to integrate with your twitter client."
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: pro/pretty-link-pro.php:
|
261 |
msgid "Show TweetDeck Integration Instructions"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: pro/pretty-link-pro.php:
|
265 |
msgid "Follow the"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: pro/pretty-link-pro.php:
|
269 |
msgid "TweetDeck Custom URL Instructions"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: pro/pretty-link-pro.php:
|
273 |
msgid " and add the following URL to TweetDeck"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: pro/pretty-link-pro.php:
|
277 |
msgid "Show Twitter for iPhone Integration Instructions"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: pro/pretty-link-pro.php:
|
281 |
msgid "Twitter for iPhone Custom URL Instructions"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: pro/pretty-link-pro.php:
|
285 |
msgid " and add the following URL to Twitter for iPhone"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: pro/pretty-link-pro.php:
|
289 |
msgid "Label:"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: pro/pretty-link-pro.php:
|
293 |
msgid "Redirection:"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: pro/pretty-link-pro.php:
|
297 |
msgid "Tracking Enabled:"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: pro/pretty-link-pro.php:
|
301 |
msgid "Group:"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: pro/pretty-link-pro.php:
|
305 |
msgid "There was an error saving your Twitter account."
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: pro/pretty-link-pro.php:
|
309 |
msgid "Your Twitter Account was successfully saved."
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: pro/pretty-link-pro.php:
|
313 |
msgid "Pretty Bar"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: pro/pretty-link-pro.php:
|
317 |
msgid "Cloaked"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: pro/pretty-link-pro.php:
|
321 |
msgid "Pixel"
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: pro/pretty-link-pro.php:
|
325 |
msgid "Cloak"
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: pro/pretty-link-pro.php:
|
329 |
msgid "Image URL:"
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: pro/pretty-link-pro.php:
|
333 |
msgid ""
|
334 |
"If set, this will replace the logo image on the PrettyBar. The image that "
|
335 |
"this URL references should be 48x48 Pixels to fit."
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: pro/pretty-link-pro.php:
|
339 |
msgid "Background Image URL:"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: pro/pretty-link-pro.php:
|
343 |
msgid ""
|
344 |
"If set, this will replace the background image on PrettyBar. The image that "
|
345 |
"this URL references should be 65px tall - this image will be repeated "
|
346 |
"horizontally across the bar."
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: pro/pretty-link-pro.php:
|
350 |
msgid "Background Color:"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: pro/pretty-link-pro.php:
|
354 |
msgid ""
|
355 |
"This will alter the background color of the PrettyBar if you haven't "
|
356 |
"specified a PrettyBar background image."
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: pro/pretty-link-pro.php:
|
360 |
msgid "Text Color:"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: pro/pretty-link-pro.php:
|
364 |
msgid ""
|
365 |
"If not set, this defaults to black (RGB value <code>#000000</code>) but you "
|
366 |
"can change it to whatever color you like."
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: pro/pretty-link-pro.php:
|
370 |
msgid "Link Color:"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: pro/pretty-link-pro.php:
|
374 |
msgid ""
|
375 |
"If not set, this defaults to blue (RGB value <code>#0000ee</code>) but you "
|
376 |
"can change it to whatever color you like."
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: pro/pretty-link-pro.php:
|
380 |
msgid "Link Hover Color:"
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: pro/pretty-link-pro.php:
|
384 |
msgid ""
|
385 |
"If not set, this defaults to RGB value <code>#ababab</code> but you can "
|
386 |
"change it to whatever color you like."
|
387 |
msgstr ""
|
388 |
|
389 |
-
#: pro/pretty-link-pro.php:
|
390 |
msgid "Visited Link Color:"
|
391 |
msgstr ""
|
392 |
|
393 |
-
#: pro/pretty-link-pro.php:
|
394 |
msgid ""
|
395 |
"If not set, this defaults to RGB value <code>#551a8b</code> but you can "
|
396 |
"change it to whatever color you like."
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: pro/pretty-link-pro.php:
|
400 |
msgid "Title Char Limit*:"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: pro/pretty-link-pro.php:
|
404 |
msgid ""
|
405 |
"If your Website has a long title then you may need to adjust this value so "
|
406 |
"that it will all fit on the PrettyBar. It is recommended that you keep this "
|
@@ -408,11 +417,11 @@ msgid ""
|
|
408 |
"good across different browsers and screen resolutions."
|
409 |
msgstr ""
|
410 |
|
411 |
-
#: pro/pretty-link-pro.php:
|
412 |
msgid "Description Char Limit*:"
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: pro/pretty-link-pro.php:
|
416 |
msgid ""
|
417 |
"If your Website has a long Description (tagline) then you may need to adjust "
|
418 |
"this value so that it will all fit on the PrettyBar. It is recommended that "
|
@@ -420,150 +429,150 @@ msgid ""
|
|
420 |
"format looks good across different browsers and screen resolutions."
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: pro/pretty-link-pro.php:
|
424 |
msgid "Target URL Char Limit*:"
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: pro/pretty-link-pro.php:
|
428 |
msgid ""
|
429 |
"If you link to a lot of large Target URLs you may want to adjust this value. "
|
430 |
"It is recommended that you keep this value to <code>40</code> or below so "
|
431 |
"the PrettyBar's format looks good across different browsers and URL sizes"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: pro/pretty-link-pro.php:
|
435 |
msgid "Show Pretty Bar Title"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: pro/pretty-link-pro.php:
|
439 |
msgid ""
|
440 |
"Make sure this is checked if you want the title of your blog (and link) to "
|
441 |
"show up on the PrettyBar."
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: pro/pretty-link-pro.php:
|
445 |
msgid "Show Pretty Bar Description"
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: pro/pretty-link-pro.php:
|
449 |
msgid ""
|
450 |
"Make sure this is checked if you want your site description to show up on "
|
451 |
"the PrettyBar."
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: pro/pretty-link-pro.php:
|
455 |
msgid "Show Pretty Bar Share Links"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: pro/pretty-link-pro.php:
|
459 |
msgid ""
|
460 |
"Make sure this is checked if you want \"share links\" to show up on the "
|
461 |
"PrettyBar."
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: pro/pretty-link-pro.php:
|
465 |
msgid "Show Pretty Bar Target URL"
|
466 |
msgstr ""
|
467 |
|
468 |
-
#: pro/pretty-link-pro.php:
|
469 |
msgid ""
|
470 |
"Make sure this is checked if you want a link displaying the Target URL to "
|
471 |
"show up on the PrettyBar."
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: pro/pretty-link-pro.php:
|
475 |
msgid "Logo Image URL must be a correctly formatted URL"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: pro/pretty-link-pro.php:
|
479 |
msgid "Background Image URL must be a correctly formatted URL"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: pro/pretty-link-pro.php:
|
483 |
msgid "PrettyBar Background Color must be an actual RGB Value"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: pro/pretty-link-pro.php:
|
487 |
msgid "PrettyBar Text Color must be an actual RGB Value"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: pro/pretty-link-pro.php:
|
491 |
msgid "PrettyBar Link Color must be an actual RGB Value"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: pro/pretty-link-pro.php:
|
495 |
msgid "PrettyBar Hover Color must be an actual RGB Value"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: pro/pretty-link-pro.php:
|
499 |
msgid "PrettyBar Title Character Limit must not be blank"
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: pro/pretty-link-pro.php:
|
503 |
msgid "PrettyBar Description Character Limit must not be blank"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: pro/pretty-link-pro.php:
|
507 |
msgid "PrettyBar Link Character Limit must not be blank"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: pro/pretty-link-pro.php:
|
511 |
msgid "PrettyBar Title Character Limit must be a number"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: pro/pretty-link-pro.php:
|
515 |
msgid "PrettyBar Description Character Limit must be a number"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: pro/pretty-link-pro.php:
|
519 |
msgid "PrettyBar Link Character Limit must be a number"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: pro/prlipro-create-public-link-widget.php:
|
523 |
msgid "Label Text:"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: pro/prlipro-create-public-link-widget.php:
|
527 |
msgid "Button Text:"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: pro/classes/views/prlipro-options/form.php:
|
531 |
msgid "Maximum Keywords per Page*:"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: pro/classes/views/prlipro-options/form.php:
|
535 |
msgid "Maximum Replacements per Keyword per Page*:"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: pro/classes/views/prlipro-options/form.php:
|
539 |
msgid "Custom CSS Styling for your Keyword Replacements:"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: pro/classes/views/prlipro-options/form.php:
|
543 |
msgid "Custom Hover CSS Styling for your Keyword Replacements:"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: pro/classes/views/prlipro-options/form.php:
|
547 |
msgid "Twitter Account"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: pro/classes/views/prlipro-options/form.php:
|
551 |
msgid "Twitter Comments Headline:"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: pro/classes/views/prlipro-options/form.php:
|
555 |
msgid "Twitter Comments Height:"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: pro/classes/views/prlipro-options/form.php:
|
559 |
msgid "Main Tweet User:"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: pro/classes/views/prlipro-options/form.php:
|
563 |
msgid "Tweet Hash Tags:"
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: pro/classes/views/prlipro-options/form.php:
|
567 |
msgid "Social Buttons Display Spacing:"
|
568 |
msgstr ""
|
569 |
|
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.1\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/pretty-link\n"
|
7 |
+
"POT-Creation-Date: 2011-12-02 02:28:04+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
+
#: prli-pro-settings.php:25
|
16 |
msgid ""
|
17 |
"You're almost done!<br/>%1$sFinish your Re-Install of Pretty Link Pro%2$s"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: prli-pro-settings.php:33
|
21 |
msgid "Pretty Link Pro Successfully Uninstalled."
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: prli-options.php:58 pro/prlipro-options.php:192
|
25 |
msgid "Options saved."
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: prli-options.php:65
|
29 |
msgid "Hit Database was Cleared."
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: prli-options.php:74
|
33 |
msgid "No hits older than 30 days were found, so nothing was deleted"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: prli-options.php:83
|
37 |
msgid "No hits older than 90 days were found, so nothing was deleted"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: classes/controllers/PrliAppController.php:31
|
41 |
msgid ""
|
42 |
"Database Upgrade is required for Pretty Link to work properly<br/>%1"
|
43 |
"$sAutomatically Upgrade your Database%2$s"
|
44 |
msgstr ""
|
45 |
|
46 |
+
#: classes/controllers/PrliAppController.php:64
|
47 |
msgid "Your Database Has Been Successfully Upgraded."
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: classes/views/prli-options/form.php:63
|
51 |
msgid "Filter Robots"
|
52 |
msgstr ""
|
53 |
|
54 |
+
#: classes/views/prli-options/form.php:64
|
55 |
msgid ""
|
56 |
"Filter known Robots and unidentifiable browser clients from your hit data, "
|
57 |
"stats and reports. <code>IMPORTANT: Any robot hits recorded with any version "
|
58 |
"of Pretty Link before 1.4.22 won't be filtered by this setting.</code>"
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: classes/views/prli-options/form.php:67
|
62 |
msgid "Whitelist IP Addresses:"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: classes/views/prli-options/form.php:70
|
66 |
msgid ""
|
67 |
"Enter IP Addresses or IP Ranges you want to always include in your Hit data "
|
68 |
"and Stats even if they are flagged as robots. Each IP Address should be "
|
70 |
"192.168.*.*</code>"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: classes/views/prli-options/form.php:78
|
74 |
msgid "Tracking Style:"
|
75 |
msgstr ""
|
76 |
|
77 |
+
#: classes/views/prli-options/form.php:78
|
78 |
msgid ""
|
79 |
"Note: Changing your tracking style can affect the accuracy of your existing "
|
80 |
"statistics."
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: classes/views/prli-options/form.php:82
|
84 |
msgid "Normal Tracking"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: classes/views/prli-options/form.php:85
|
88 |
msgid "Extended Tracking (more stats / slower performance)"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: classes/views/prli-options/form.php:88
|
92 |
msgid "Simple Click Count Tracking (less stats / faster performance)"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: classes/views/prli-options/form.php:97
|
96 |
msgid "Update Options"
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: classes/views/prli-tools/form.php:21
|
100 |
msgid "Show iPhone Bookmarklet Instructions"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: classes/views/prli-dashboard-widget/widget.php:3
|
104 |
+
msgid "Add a Pretty Link from your Dashboard:"
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: classes/views/shared/nav.php:8
|
108 |
msgid "Pro Manual"
|
109 |
msgstr ""
|
110 |
|
111 |
+
#: classes/views/shared/nav.php:10
|
112 |
msgid "Upgrade to Pro"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: classes/views/shared/nav.php:12
|
116 |
msgid "Connect"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: classes/views/shared/nav.php:12
|
120 |
msgid "Get Help"
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: classes/views/shared/nav.php:12
|
124 |
msgid "Tutorials"
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: classes/views/shared/nav.php:12
|
128 |
msgid "One on One"
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: classes/models/PrliUpdate.php:44
|
132 |
msgid "Pretty Link Pro Username"
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: classes/models/PrliUpdate.php:45
|
136 |
msgid "Pretty Link Pro Password"
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: classes/models/PrliUpdate.php:46
|
140 |
msgid "Your Pretty Link Pro Username or Password was Invalid"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: classes/models/PrliUpdate.php:151
|
144 |
msgid ""
|
145 |
"Your Username & Password was accepted<br/>Now you can %1$sUpgrade "
|
146 |
"Automatically!%2$s"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: classes/models/PrliUpdate.php:161
|
150 |
+
msgid ""
|
151 |
+
"Your Username & Password was accepted<br/>Now you can %1$sGet Started!%2$s"
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: classes/models/PrliUpdate.php:171
|
155 |
+
msgid "ERROR"
|
|
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: classes/models/PrliUpdate.php:206
|
159 |
+
#: pro/classes/views/prlipro-options/form.php:432
|
160 |
+
msgid "Save"
|
|
|
161 |
msgstr ""
|
162 |
|
163 |
#: prli-xmlrpc.php:22 prli-xmlrpc.php:85 prli-xmlrpc.php:133
|
164 |
#: prli-xmlrpc.php:189 prli-xmlrpc.php:219 prli-xmlrpc.php:248
|
165 |
#: prli-xmlrpc.php:282 prli-xmlrpc.php:315
|
166 |
+
msgid "Sorry, XML-RPC Not enabled for this website"
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: prli-xmlrpc.php:25 prli-xmlrpc.php:88 prli-xmlrpc.php:136
|
170 |
+
#: prli-xmlrpc.php:192 prli-xmlrpc.php:222 prli-xmlrpc.php:251
|
171 |
+
#: prli-xmlrpc.php:285 prli-xmlrpc.php:318
|
172 |
msgid "Sorry, Login failed"
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: prli-xmlrpc.php:31 prli-xmlrpc.php:94 prli-xmlrpc.php:142
|
176 |
+
#: prli-xmlrpc.php:198 prli-xmlrpc.php:228 prli-xmlrpc.php:257
|
177 |
+
#: prli-xmlrpc.php:291 prli-xmlrpc.php:324
|
178 |
msgid "Sorry, you must be an administrator to access this resource"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: prli-xmlrpc.php:98
|
182 |
msgid "You must provide a target URL"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: prli-xmlrpc.php:124 prli-xmlrpc.php:173
|
186 |
msgid "There was an error creating your Pretty Link"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: prli-xmlrpc.php:146
|
190 |
msgid "You must provide the id of the link you want to update"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: prli-xmlrpc.php:203
|
194 |
msgid "There was an error fetching the Pretty Link Groups"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: prli-xmlrpc.php:233
|
198 |
msgid "There was an error fetching the Pretty Links"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: prli-xmlrpc.php:260
|
202 |
msgid "Sorry, you must provide a slug to lookup"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: prli-xmlrpc.php:267 prli-xmlrpc.php:301
|
206 |
msgid "There was an error fetching your Pretty Link"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: prli-xmlrpc.php:294 prli-xmlrpc.php:327
|
210 |
msgid "Sorry, you must provide an id to lookup"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: prli-xmlrpc.php:334
|
214 |
msgid "There was an error fetching your Pretty Link URL"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: prli-main.php:355 prli-main.php:374
|
218 |
msgid ""
|
219 |
"Your Pretty Link Pro installation isn't quite complete yet.<br/>%1"
|
220 |
"$sAutomatically Upgrade to Enable Pretty Link Pro%2$s"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: pro/prlipro-options.php:9
|
224 |
msgid "Your Keyword Replacement Cache was successfully deleted"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: pro/prlipro-options.php:36
|
228 |
msgid "Your Duplicate Tweets were Successfully Trimmed"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: pro/pretty-link-pro.php:128
|
232 |
msgid "Disable Keyword Replacements on this post."
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: pro/pretty-link-pro.php:164
|
236 |
msgid "Hits"
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: pro/pretty-link-pro.php:164
|
240 |
msgid "Uniques"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: pro/pretty-link-pro.php:206
|
244 |
msgid ""
|
245 |
"A Pretty Link hasn't been generated for this entry yet. Click \"Update Post"
|
246 |
"\" to generate."
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: pro/pretty-link-pro.php:260
|
250 |
msgid "ERROR: Your Pretty Link was unable to be created"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: pro/pretty-link-pro.php:263
|
254 |
msgid "Unauthorized"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: pro/pretty-link-pro.php:1581
|
258 |
msgid "Alternate Pretty Bar Attribution URL:"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: pro/pretty-link-pro.php:1674
|
262 |
msgid "End-Point URL:"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: pro/pretty-link-pro.php:1675
|
266 |
msgid "This can be used to integrate with your twitter client."
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: pro/pretty-link-pro.php:1678
|
270 |
msgid "Show TweetDeck Integration Instructions"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: pro/pretty-link-pro.php:1680 pro/pretty-link-pro.php:1686
|
274 |
msgid "Follow the"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: pro/pretty-link-pro.php:1680
|
278 |
msgid "TweetDeck Custom URL Instructions"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: pro/pretty-link-pro.php:1680
|
282 |
msgid " and add the following URL to TweetDeck"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: pro/pretty-link-pro.php:1684
|
286 |
msgid "Show Twitter for iPhone Integration Instructions"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: pro/pretty-link-pro.php:1686
|
290 |
msgid "Twitter for iPhone Custom URL Instructions"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: pro/pretty-link-pro.php:1686
|
294 |
msgid " and add the following URL to Twitter for iPhone"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: pro/pretty-link-pro.php:1696
|
298 |
msgid "Label:"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: pro/pretty-link-pro.php:1701 pro/prlipro-create-public-link-widget.php:46
|
302 |
msgid "Redirection:"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: pro/pretty-link-pro.php:1712 pro/prlipro-create-public-link-widget.php:57
|
306 |
msgid "Tracking Enabled:"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: pro/pretty-link-pro.php:1721 pro/prlipro-create-public-link-widget.php:66
|
310 |
msgid "Group:"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: pro/pretty-link-pro.php:1823 pro/pretty-link-pro.php:1863
|
314 |
msgid "There was an error saving your Twitter account."
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: pro/pretty-link-pro.php:1859
|
318 |
msgid "Your Twitter Account was successfully saved."
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: pro/pretty-link-pro.php:1877 pro/pretty-link-pro.php:1915
|
322 |
msgid "Pretty Bar"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: pro/pretty-link-pro.php:1878
|
326 |
msgid "Cloaked"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: pro/pretty-link-pro.php:1879 pro/pretty-link-pro.php:1917
|
330 |
msgid "Pixel"
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: pro/pretty-link-pro.php:1916
|
334 |
msgid "Cloak"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: pro/pretty-link-pro.php:1945
|
338 |
msgid "Image URL:"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: pro/pretty-link-pro.php:1948
|
342 |
msgid ""
|
343 |
"If set, this will replace the logo image on the PrettyBar. The image that "
|
344 |
"this URL references should be 48x48 Pixels to fit."
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: pro/pretty-link-pro.php:1952
|
348 |
msgid "Background Image URL:"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: pro/pretty-link-pro.php:1955
|
352 |
msgid ""
|
353 |
"If set, this will replace the background image on PrettyBar. The image that "
|
354 |
"this URL references should be 65px tall - this image will be repeated "
|
355 |
"horizontally across the bar."
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: pro/pretty-link-pro.php:1959
|
359 |
msgid "Background Color:"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: pro/pretty-link-pro.php:1962
|
363 |
msgid ""
|
364 |
"This will alter the background color of the PrettyBar if you haven't "
|
365 |
"specified a PrettyBar background image."
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: pro/pretty-link-pro.php:1966
|
369 |
msgid "Text Color:"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: pro/pretty-link-pro.php:1969
|
373 |
msgid ""
|
374 |
"If not set, this defaults to black (RGB value <code>#000000</code>) but you "
|
375 |
"can change it to whatever color you like."
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: pro/pretty-link-pro.php:1973
|
379 |
msgid "Link Color:"
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: pro/pretty-link-pro.php:1976
|
383 |
msgid ""
|
384 |
"If not set, this defaults to blue (RGB value <code>#0000ee</code>) but you "
|
385 |
"can change it to whatever color you like."
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: pro/pretty-link-pro.php:1980
|
389 |
msgid "Link Hover Color:"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: pro/pretty-link-pro.php:1983
|
393 |
msgid ""
|
394 |
"If not set, this defaults to RGB value <code>#ababab</code> but you can "
|
395 |
"change it to whatever color you like."
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: pro/pretty-link-pro.php:1987
|
399 |
msgid "Visited Link Color:"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: pro/pretty-link-pro.php:1990
|
403 |
msgid ""
|
404 |
"If not set, this defaults to RGB value <code>#551a8b</code> but you can "
|
405 |
"change it to whatever color you like."
|
406 |
msgstr ""
|
407 |
|
408 |
+
#: pro/pretty-link-pro.php:1994
|
409 |
msgid "Title Char Limit*:"
|
410 |
msgstr ""
|
411 |
|
412 |
+
#: pro/pretty-link-pro.php:1997
|
413 |
msgid ""
|
414 |
"If your Website has a long title then you may need to adjust this value so "
|
415 |
"that it will all fit on the PrettyBar. It is recommended that you keep this "
|
417 |
"good across different browsers and screen resolutions."
|
418 |
msgstr ""
|
419 |
|
420 |
+
#: pro/pretty-link-pro.php:2001
|
421 |
msgid "Description Char Limit*:"
|
422 |
msgstr ""
|
423 |
|
424 |
+
#: pro/pretty-link-pro.php:2004
|
425 |
msgid ""
|
426 |
"If your Website has a long Description (tagline) then you may need to adjust "
|
427 |
"this value so that it will all fit on the PrettyBar. It is recommended that "
|
429 |
"format looks good across different browsers and screen resolutions."
|
430 |
msgstr ""
|
431 |
|
432 |
+
#: pro/pretty-link-pro.php:2008
|
433 |
msgid "Target URL Char Limit*:"
|
434 |
msgstr ""
|
435 |
|
436 |
+
#: pro/pretty-link-pro.php:2011
|
437 |
msgid ""
|
438 |
"If you link to a lot of large Target URLs you may want to adjust this value. "
|
439 |
"It is recommended that you keep this value to <code>40</code> or below so "
|
440 |
"the PrettyBar's format looks good across different browsers and URL sizes"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: pro/pretty-link-pro.php:2016
|
444 |
msgid "Show Pretty Bar Title"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: pro/pretty-link-pro.php:2017
|
448 |
msgid ""
|
449 |
"Make sure this is checked if you want the title of your blog (and link) to "
|
450 |
"show up on the PrettyBar."
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: pro/pretty-link-pro.php:2022
|
454 |
msgid "Show Pretty Bar Description"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: pro/pretty-link-pro.php:2023
|
458 |
msgid ""
|
459 |
"Make sure this is checked if you want your site description to show up on "
|
460 |
"the PrettyBar."
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: pro/pretty-link-pro.php:2028
|
464 |
msgid "Show Pretty Bar Share Links"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: pro/pretty-link-pro.php:2029
|
468 |
msgid ""
|
469 |
"Make sure this is checked if you want \"share links\" to show up on the "
|
470 |
"PrettyBar."
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: pro/pretty-link-pro.php:2034
|
474 |
msgid "Show Pretty Bar Target URL"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: pro/pretty-link-pro.php:2035
|
478 |
msgid ""
|
479 |
"Make sure this is checked if you want a link displaying the Target URL to "
|
480 |
"show up on the PrettyBar."
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: pro/pretty-link-pro.php:2065
|
484 |
msgid "Logo Image URL must be a correctly formatted URL"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: pro/pretty-link-pro.php:2068
|
488 |
msgid "Background Image URL must be a correctly formatted URL"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: pro/pretty-link-pro.php:2071
|
492 |
msgid "PrettyBar Background Color must be an actual RGB Value"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: pro/pretty-link-pro.php:2074
|
496 |
msgid "PrettyBar Text Color must be an actual RGB Value"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: pro/pretty-link-pro.php:2077
|
500 |
msgid "PrettyBar Link Color must be an actual RGB Value"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: pro/pretty-link-pro.php:2080 pro/pretty-link-pro.php:2083
|
504 |
msgid "PrettyBar Hover Color must be an actual RGB Value"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: pro/pretty-link-pro.php:2086
|
508 |
msgid "PrettyBar Title Character Limit must not be blank"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: pro/pretty-link-pro.php:2089
|
512 |
msgid "PrettyBar Description Character Limit must not be blank"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: pro/pretty-link-pro.php:2092
|
516 |
msgid "PrettyBar Link Character Limit must not be blank"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: pro/pretty-link-pro.php:2095
|
520 |
msgid "PrettyBar Title Character Limit must be a number"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: pro/pretty-link-pro.php:2098
|
524 |
msgid "PrettyBar Description Character Limit must be a number"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: pro/pretty-link-pro.php:2101
|
528 |
msgid "PrettyBar Link Character Limit must be a number"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: pro/prlipro-create-public-link-widget.php:42
|
532 |
msgid "Label Text:"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: pro/prlipro-create-public-link-widget.php:43
|
536 |
msgid "Button Text:"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: pro/classes/views/prlipro-options/form.php:34
|
540 |
msgid "Maximum Keywords per Page*:"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: pro/classes/views/prlipro-options/form.php:40
|
544 |
msgid "Maximum Replacements per Keyword per Page*:"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: pro/classes/views/prlipro-options/form.php:59
|
548 |
msgid "Custom CSS Styling for your Keyword Replacements:"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: pro/classes/views/prlipro-options/form.php:66
|
552 |
msgid "Custom Hover CSS Styling for your Keyword Replacements:"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: pro/classes/views/prlipro-options/form.php:187
|
556 |
msgid "Twitter Account"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: pro/classes/views/prlipro-options/form.php:232
|
560 |
msgid "Twitter Comments Headline:"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: pro/classes/views/prlipro-options/form.php:239
|
564 |
msgid "Twitter Comments Height:"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: pro/classes/views/prlipro-options/form.php:252
|
568 |
msgid "Main Tweet User:"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: pro/classes/views/prlipro-options/form.php:265
|
572 |
msgid "Tweet Hash Tags:"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: pro/classes/views/prlipro-options/form.php:387
|
576 |
msgid "Social Buttons Display Spacing:"
|
577 |
msgstr ""
|