SEO SQUIRRLY™ - Version 3.4.4

Version Description

  • Updated the Twitter Card information
  • Compatible with WP 4.1.1
  • Fixed the SEO Analytics and the Rank updates
  • Fixed the SEO for First Page if the Home Page is not a static page
  • Fixed the SEO for the First Page when it starts with woocommerce shop
Download this release

Release Info

Developer cifi
Plugin Icon 128x128 SEO SQUIRRLY™
Version 3.4.4
Comparing to
See all releases

Code changes from version 3.1.1 to 3.4.4

Files changed (50) hide show
  1. classes/SQ_Action.php +4 -6
  2. classes/SQ_BlockController.php +2 -2
  3. classes/SQ_DisplayController.php +19 -12
  4. classes/SQ_Error.php +1 -1
  5. classes/SQ_FrontController.php +3 -2
  6. classes/SQ_HookController.php +1 -0
  7. classes/SQ_Ranking.php +94 -42
  8. classes/SQ_Sitemap.php +3 -2
  9. classes/SQ_Tools.php +48 -36
  10. classes/SQ_Traffic.php +0 -18
  11. config/config.php +1 -1
  12. config/paths.php +1 -1
  13. controllers/SQ_Frontend.php +21 -22
  14. controllers/SQ_Menu.php +55 -15
  15. controllers/SQ_Post.php +117 -81
  16. controllers/SQ_PostsList.php +65 -25
  17. core/SQ_BlockPostsAnalytics/SQ_BlockPostsAnalytics.php +1 -0
  18. core/SQ_Blocklogin/SQ_Blocklogin.php +1 -1
  19. core/SQ_Loading/SQ_Loading.php +3 -3
  20. core/config.xml +3 -0
  21. languages/squirrly-seo-ro_RO.mo +0 -0
  22. languages/squirrly-seo-ro_RO.po +1553 -568
  23. models/SQ_BlockPostsAnalytics.php +6 -6
  24. models/SQ_Blocksearch.php +4 -2
  25. models/SQ_Blockseo.php +2 -1
  26. models/SQ_Frontend.php +357 -287
  27. models/SQ_Menu.php +26 -3
  28. models/SQ_Post.php +273 -3
  29. readme.txt +200 -179
  30. squirrly.php +47 -46
  31. themes/default/SQ_BlockAnalytics.php +2 -0
  32. themes/default/SQ_BlockAudit.php +2 -2
  33. themes/default/SQ_BlockDashboard.php +6 -2
  34. themes/default/SQ_BlockHelp.php +22 -1
  35. themes/default/SQ_BlockPostsAnalytics.php +1 -0
  36. themes/default/SQ_BlockSupport.php +8 -8
  37. themes/default/SQ_Blocklogin.php +14 -10
  38. themes/default/SQ_Menu.php +63 -23
  39. themes/default/SQ_notices.php +3 -6
  40. themes/default/css/sq_global.css +1 -1
  41. themes/default/css/sq_menu.css +1 -1
  42. themes/default/css/sq_post.css +1 -1
  43. themes/default/css/sq_postslist.css +1 -1
  44. themes/default/img/sprite.png +0 -0
  45. themes/default/js/sq_blockaudit.js +1 -1
  46. themes/default/js/sq_blocklogin.js +19 -17
  47. themes/default/js/sq_blocksupport.js +12 -14
  48. themes/default/js/sq_menu.js +23 -21
  49. themes/default/js/tinymce.js +1 -1
  50. uninstall.php +2 -1
classes/SQ_Action.php CHANGED
@@ -19,7 +19,7 @@ class SQ_Action extends SQ_FrontController {
19
  public function hookInit() {
20
 
21
  /* Only if ajax */
22
- if ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false) {
23
  $this->actions = array();
24
  $this->getActions(((isset($_GET['action']) ? $_GET['action'] : (isset($_POST['action']) ? $_POST['action'] : ''))));
25
  }
@@ -32,10 +32,7 @@ class SQ_Action extends SQ_FrontController {
32
  */
33
  public function hookMenu() {
34
  /* Only if post */
35
- if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
36
- return;
37
- }
38
- if (strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false) {
39
  return;
40
  }
41
 
@@ -132,9 +129,10 @@ class SQ_Action extends SQ_FrontController {
132
  if (SQ_Tools::$options['sq_api'] == '' && $module <> 'sq/login' && $module <> 'sq/register') {
133
  return false;
134
  }
 
135
 
136
  $extra = array('user_url' => urlencode(get_bloginfo('wpurl')),
137
- 'lang' => WPLANG,
138
  'versq' => SQ_VERSION_ID,
139
  'verwp' => WP_VERSION_ID,
140
  'verphp' => PHP_VERSION_ID,
19
  public function hookInit() {
20
 
21
  /* Only if ajax */
22
+ if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false) {
23
  $this->actions = array();
24
  $this->getActions(((isset($_GET['action']) ? $_GET['action'] : (isset($_POST['action']) ? $_POST['action'] : ''))));
25
  }
32
  */
33
  public function hookMenu() {
34
  /* Only if post */
35
+ if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false) {
 
 
 
36
  return;
37
  }
38
 
129
  if (SQ_Tools::$options['sq_api'] == '' && $module <> 'sq/login' && $module <> 'sq/register') {
130
  return false;
131
  }
132
+ $lang = (defined('WPLANG') ? WPLANG : 'en_US');
133
 
134
  $extra = array('user_url' => urlencode(get_bloginfo('wpurl')),
135
+ 'lang' => $lang,
136
  'versq' => SQ_VERSION_ID,
137
  'verwp' => WP_VERSION_ID,
138
  'verphp' => PHP_VERSION_ID,
classes/SQ_BlockController.php CHANGED
@@ -63,8 +63,8 @@ class SQ_BlockController {
63
  protected function action() {
64
  // check to see if the submitted nonce matches with the
65
  // generated nonce we created
66
- if (class_exists('wp_verify_nonce'))
67
- if (!wp_verify_nonce(SQ_Tools::getValue(_SQ_NONCE_ID_), _SQ_NONCE_ID_))
68
  die('Invalid request!');
69
  }
70
 
63
  protected function action() {
64
  // check to see if the submitted nonce matches with the
65
  // generated nonce we created
66
+ if (function_exists('wp_verify_nonce'))
67
+ if (!wp_verify_nonce(SQ_Tools::getValue('nonce'), _SQ_NONCE_ID_))
68
  die('Invalid request!');
69
  }
70
 
classes/SQ_DisplayController.php CHANGED
@@ -17,17 +17,20 @@ class SQ_DisplayController {
17
  * echo the css link from theme css directory
18
  *
19
  * @param string $uri The name of the css file or the entire uri path of the css file
20
- * @param string $media
21
  *
22
  * @return string
23
  */
24
- public static function loadMedia($uri = '', $media = 'all', $params = null) {
25
- if (strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false || (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER ['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'))
26
  return;
27
 
28
  $css_uri = '';
29
  $js_uri = '';
30
  $local = true;
 
 
 
31
 
32
  if (isset(self::$cache[$uri]))
33
  return;
@@ -53,20 +56,24 @@ class SQ_DisplayController {
53
  }
54
 
55
 
 
56
  if ($css_uri <> '') {
57
- if (wp_style_is($name))
58
- wp_deregister_style($name);
 
59
 
60
- wp_register_style($name, $css_uri, null, SQ_VERSION_ID, 'all');
61
- wp_enqueue_style($name);
 
62
  }
63
 
64
  if ($js_uri <> '') {
65
- if (wp_script_is($name))
66
- wp_deregister_script($name);
67
-
68
- wp_register_script($name, $js_uri);
69
- wp_enqueue_script($name);
 
70
  }
71
  }
72
 
17
  * echo the css link from theme css directory
18
  *
19
  * @param string $uri The name of the css file or the entire uri path of the css file
20
+ * @param string $params : trigger, media
21
  *
22
  * @return string
23
  */
24
+ public static function loadMedia($uri = '', $params = array('trigger' => true, 'media' => 'all')) {
25
+ if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false)
26
  return;
27
 
28
  $css_uri = '';
29
  $js_uri = '';
30
  $local = true;
31
+ if (!isset($params['media'])) {
32
+ $params['media'] = 'all';
33
+ }
34
 
35
  if (isset(self::$cache[$uri]))
36
  return;
56
  }
57
 
58
 
59
+
60
  if ($css_uri <> '') {
61
+ if (!wp_style_is($name)) {
62
+ wp_enqueue_style($name, $css_uri, null, SQ_VERSION_ID, $params['media']);
63
+ }
64
 
65
+ if (isset($params['trigger']) && $params['trigger'] === true) {
66
+ wp_print_styles(array($name));
67
+ }
68
  }
69
 
70
  if ($js_uri <> '') {
71
+ if (!wp_script_is($name)) {
72
+ wp_enqueue_script($name, $js_uri, null, SQ_VERSION_ID);
73
+ }
74
+ if (isset($params['trigger']) && $params['trigger'] === true) {
75
+ wp_print_scripts(array($name));
76
+ }
77
  }
78
  }
79
 
classes/SQ_Error.php CHANGED
@@ -59,7 +59,7 @@ class SQ_Error extends SQ_FrontController {
59
  break;
60
 
61
  /* switch off option for notifications */
62
- self::$switch_off = "<a href=\"javascript:void(0);\" onclick=\"jQuery.post( ajaxurl, {action: 'sq_warnings_off', nonce: '" . wp_create_nonce('sq_none') . "'}, function(data) { if (data) { jQuery('#sq_ignore_warn').attr('checked', true); jQuery('.sq_message').hide(); jQuery('#toplevel_page_squirrly .awaiting-mod').fadeOut('slow'); } });\" >" . __("Turn off warnings!", _SQ_PLUGIN_NAME_) . "</a>";
63
  self::showError(ucfirst(_SQ_PLUGIN_NAME_) . " " . __('Notice: ', _SQ_PLUGIN_NAME_) . $error['text'] . " " . self::$switch_off, $error['id']);
64
  break;
65
  default:
59
  break;
60
 
61
  /* switch off option for notifications */
62
+ self::$switch_off = "<a href=\"javascript:void(0);\" onclick=\"jQuery.post( ajaxurl, {action: 'sq_warnings_off', nonce: '" . wp_create_nonce(_SQ_NONCE_ID_) . "'}, function(data) { if (data) { jQuery('#sq_ignore_warn').attr('checked', true); jQuery('.sq_message').hide(); jQuery('#toplevel_page_squirrly .awaiting-mod').fadeOut('slow'); } });\" >" . __("Turn off warnings!", _SQ_PLUGIN_NAME_) . "</a>";
63
  self::showError(ucfirst(_SQ_PLUGIN_NAME_) . " " . __('Notice: ', _SQ_PLUGIN_NAME_) . $error['text'] . " " . self::$switch_off, $error['id']);
64
  break;
65
  default:
classes/SQ_FrontController.php CHANGED
@@ -106,10 +106,11 @@ class SQ_FrontController {
106
  *
107
  */
108
  protected function action() {
 
109
  // check to see if the submitted nonce matches with the
110
  // generated nonce we created
111
- if (class_exists('wp_verify_nonce'))
112
- if (!wp_verify_nonce(SQ_Tools::getValue(_SQ_NONCE_ID_), _SQ_NONCE_ID_))
113
  die('Invalid request!');
114
  }
115
 
106
  *
107
  */
108
  protected function action() {
109
+
110
  // check to see if the submitted nonce matches with the
111
  // generated nonce we created
112
+ if (function_exists('wp_verify_nonce'))
113
+ if (!wp_verify_nonce(SQ_Tools::getValue('nonce'), _SQ_NONCE_ID_))
114
  die('Invalid request!');
115
  }
116
 
classes/SQ_HookController.php CHANGED
@@ -17,6 +17,7 @@ class SQ_HookController {
17
  'wmenu' => '_admin_menu',
18
  'menu' => 'admin_menu',
19
  'submenu' => 'add_submenu_page',
 
20
  'loaded' => 'plugins_loaded',
21
  'xml' => 'admin_xml_ns',
22
  'scripts' => 'admin_enqueue_scripts',
17
  'wmenu' => '_admin_menu',
18
  'menu' => 'admin_menu',
19
  'submenu' => 'add_submenu_page',
20
+ 'preload' => 'template_redirect',
21
  'loaded' => 'plugins_loaded',
22
  'xml' => 'admin_xml_ns',
23
  'scripts' => 'admin_enqueue_scripts',
classes/SQ_Ranking.php CHANGED
@@ -7,10 +7,23 @@ class SQ_Ranking extends SQ_FrontController {
7
 
8
  private $keyword;
9
  private $post_id;
 
10
 
11
  //--
12
  public function getCountry() {
13
- return SQ_Tools::$options['sq_google_country'];
 
 
 
 
 
 
 
 
 
 
 
 
14
  }
15
 
16
  /**
@@ -18,7 +31,10 @@ class SQ_Ranking extends SQ_FrontController {
18
  * @return type
19
  */
20
  public function getLanguage() {
21
- return SQ_Tools::$options['sq_google_language'];
 
 
 
22
  }
23
 
24
  /**
@@ -43,9 +59,9 @@ class SQ_Ranking extends SQ_FrontController {
43
  */
44
  public function processRanking($post_id, $keyword) {
45
  $this->setPost($post_id);
46
- $this->setKeyword($keyword);
47
 
48
- if (isset($this->keyword)) {
49
  return $this->getGoogleRank();
50
  }
51
  return false;
@@ -62,47 +78,79 @@ class SQ_Ranking extends SQ_FrontController {
62
  */
63
  public function getGoogleRank() {
64
  global $wpdb;
65
- $country = $this->getCountry();
66
 
67
- if (!function_exists('preg_match_all'))
68
- return;
 
 
 
 
 
 
69
 
70
  $arg = array('timeout' => 10);
71
- $arg['q'] = $this->keyword;
72
  $arg['hl'] = $this->getLanguage();
 
 
 
 
 
 
73
  $arg['num'] = '100';
74
- $arg['as_qdr'] = 'all';
75
- $arg['safe'] = 'off';
76
  $arg['pws'] = '0';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
 
78
  //Grab the remote informations from google
79
  $response = utf8_decode(SQ_Tools::sq_remote_get("https://www.google.$country/search", $arg));
80
 
81
  //Check the values for block IP
82
- if (strpos($response, "computer virus or spyware application") !== false ||
83
- strpos($response, "entire network is affected") !== false ||
84
- strpos($response, "http://www.download.com/Antivirus") !== false ||
85
- strpos($response, "/images/yellow_warning.gif") !== false ||
86
- strpos($response, "302 Moved") !== false) {
87
  return -2; //return error
88
  }
89
 
90
-
91
  //Get the permalink of the current post
92
  $permalink = get_permalink($this->post_id);
93
- preg_match_all('/<h3 class="r"><a href="\/url\?q=(.*?)&amp;sa=U&amp;ei=/', $response, $matches);
 
 
 
 
 
94
 
95
- $pos = -1;
96
  if (!empty($matches[1])) {
 
97
  foreach ($matches[1] as $index => $url) {
98
-
99
- if (strpos($url, $permalink) !== false) {
100
  $pos = $index + 1;
101
  break;
102
  }
103
  }
 
104
  }
105
- return $pos;
 
106
  }
107
 
108
  /**
@@ -111,7 +159,10 @@ class SQ_Ranking extends SQ_FrontController {
111
  */
112
  public function processCron() {
113
  global $wpdb;
114
- set_time_limit(400);
 
 
 
115
  /* Load the Submit Actions Handler */
116
  SQ_ObjController::getController('SQ_Tools', false);
117
  SQ_ObjController::getController('SQ_Action', false);
@@ -125,7 +176,7 @@ class SQ_Ranking extends SQ_FrontController {
125
  if ($rows = $wpdb->get_results($sql)) {
126
  $count = 0;
127
  foreach ($rows as $row) {
128
- if ($count > 20) {
129
  break; //check only 10 keywords at the time
130
  }
131
  if ($row->meta_value <> '') {
@@ -137,36 +188,37 @@ class SQ_Ranking extends SQ_FrontController {
137
  (isset($json->update) && isset($json->rank) && $json->rank == -1 && (time() - $json->update > (60 * 60 * 24))) //if not indexed than check often
138
  )) {
139
 
140
- $json->rank = $this->processRanking($row->post_id, $json->keyword);
141
- if ($json->rank == -1) {
142
  $count++;
143
- sleep(mt_rand(10, 20));
144
  //if not indexed with the keyword then find the url
145
  if ($this->processRanking($row->post_id, get_permalink($row->post_id)) > 0) {
146
- $json->rank = 0; //for permalink index set 0
147
  }
148
  }
149
 
150
-
151
- if (isset($json->rank)) {
 
152
  $json->country = $this->getCountry();
153
  $json->language = $this->getLanguage();
154
  SQ_ObjController::getModel('SQ_Post')->saveKeyword($row->post_id, $json);
155
- set_transient('sq_rank' . $row->post_id, $json->rank, (60 * 60 * 24));
 
 
156
 
157
- //if rank proccess has no error
158
- if ($json->rank >= -1) {
159
- $args = array();
160
- $args['post_id'] = $row->post_id;
161
- $args['rank'] = (string) $json->rank;
162
- $args['country'] = $this->getCountry();
163
- $args['language'] = $this->getLanguage();
164
 
165
- SQ_Action::apiCall('sq/user-analytics/saveserp', $args);
166
- }
167
- $count++;
168
- sleep(mt_rand(10, 20));
169
- }
170
  }
171
  }
172
  }
7
 
8
  private $keyword;
9
  private $post_id;
10
+ private $error;
11
 
12
  //--
13
  public function getCountry() {
14
+ if (isset(SQ_Tools::$options['sq_google_country']) && SQ_Tools::$options['sq_google_country'] <> '') {
15
+ return SQ_Tools::$options['sq_google_country'];
16
+ }
17
+ return 'com';
18
+ }
19
+
20
+ public function getRefererCountry() {
21
+ $convert_refc = array('com' => 'us', '.off.ai' => 'ai', 'com.ag' => 'ag', 'com.ar' => 'ar', 'com.au' => 'au', 'com.br' => 'br', 'com.co' => 'co', 'co.cr' => 'cr', 'com.cu' => 'cu', 'com.do' => 'do', 'com.ec' => 'ec', 'com.sv' => 'sv', 'com.fj' => 'fj', 'com.gi' => 'gi', 'com.gr' => 'gr', 'com.hk' => 'hk', 'co.hu' => 'hu', 'co.in' => 'in', 'co.im' => 'im', 'co.il' => 'il', 'com.jm' => 'jm', 'co.jp' => 'jp', 'co.je' => 'je', 'co.kr' => 'kr', 'co.ls' => 'ls', 'com.my' => 'my', 'com.mt' => 'mt', 'com.mx' => 'mx', 'com.na' => 'na', 'com.np' => 'np', 'com.ni' => 'ni', 'com.nf' => 'nf', 'com.pk' => 'pk', 'com.pa' => 'pa', 'com.py' => 'py', 'com.pe' => 'pe', 'com.ph' => 'ph', 'com.pr' => 'pr', 'com.sg' => 'sg', 'co.za' => 'za', 'com.tw' => 'tw', 'com.th' => 'th', 'com.tr' => 'tr', 'com.ua' => 'ua', 'com.uk' => 'uk', 'com.uy' => 'uy',);
22
+ $country = $this->getCountry();
23
+ if (array_key_exists($country, $convert_refc)) {
24
+ return $convert_refc[$country];
25
+ }
26
+ return $country;
27
  }
28
 
29
  /**
31
  * @return type
32
  */
33
  public function getLanguage() {
34
+ if (isset(SQ_Tools::$options['sq_google_language']) && SQ_Tools::$options['sq_google_language'] <> '') {
35
+ return SQ_Tools::$options['sq_google_language'];
36
+ }
37
+ return 'en';
38
  }
39
 
40
  /**
59
  */
60
  public function processRanking($post_id, $keyword) {
61
  $this->setPost($post_id);
62
+ $this->setKeyword(trim($keyword));
63
 
64
+ if (isset($this->keyword) && $this->keyword <> '') {
65
  return $this->getGoogleRank();
66
  }
67
  return false;
78
  */
79
  public function getGoogleRank() {
80
  global $wpdb;
81
+ $this->error = '';
82
 
83
+ if (trim($this->keyword) == '') {
84
+ $this->error = 'no keyword for post_id:' . $this->post_id;
85
+ return false;
86
+ }
87
+
88
+ if (!function_exists('preg_match_all')) {
89
+ return false;
90
+ }
91
 
92
  $arg = array('timeout' => 10);
93
+ $arg['as_q'] = str_replace(" ", "+", strtolower(trim($this->keyword)));
94
  $arg['hl'] = $this->getLanguage();
95
+ //$arg['gl'] = $this->getRefererCountry();
96
+
97
+ if (SQ_Tools::$options['sq_google_country_strict'] == 1) {
98
+ $arg['cr'] = 'country' . strtoupper($this->getRefererCountry());
99
+ }
100
+ $arg['start'] = '0';
101
  $arg['num'] = '100';
102
+
103
+ $arg['safe'] = 'active';
104
  $arg['pws'] = '0';
105
+ $arg['as_epq'] = '';
106
+ $arg['as_oq'] = '';
107
+ $arg['as_nlo'] = '';
108
+ $arg['as_nhi'] = '';
109
+ $arg['as_qdr'] = 'all';
110
+ $arg['as_sitesearch'] = '';
111
+ $arg['as_occt'] = 'any';
112
+ $arg['tbs'] = '';
113
+ $arg['as_filetype'] = '';
114
+ $arg['as_rights'] = '';
115
+
116
+ $country = $this->getCountry();
117
+
118
+ if ($country == '' || $arg['hl'] == '') {
119
+ $this->error = 'no country (' . $country . ')';
120
+ return false;
121
+ }
122
 
123
  //Grab the remote informations from google
124
  $response = utf8_decode(SQ_Tools::sq_remote_get("https://www.google.$country/search", $arg));
125
 
126
  //Check the values for block IP
127
+ if (strpos($response, "</h3>") === false) {
128
+ set_transient('google_blocked', 1, (60 * 60 * 1));
 
 
 
129
  return -2; //return error
130
  }
131
 
 
132
  //Get the permalink of the current post
133
  $permalink = get_permalink($this->post_id);
134
+ if ($permalink == '') {
135
+ $this->error = 'no permalink for post_id:' . $this->post_id;
136
+ return false;
137
+ }
138
+
139
+ preg_match_all('/<h3.*?><a href="(.*?)".*?<\/h3>/is', $response, $matches);
140
 
141
+ SQ_Tools::dump($matches[1]);
142
  if (!empty($matches[1])) {
143
+ $pos = -1;
144
  foreach ($matches[1] as $index => $url) {
145
+ if (strpos($url, rtrim($permalink, '/')) !== false) {
 
146
  $pos = $index + 1;
147
  break;
148
  }
149
  }
150
+ return $pos;
151
  }
152
+ $this->error = 'no results returned by google';
153
+ return false;
154
  }
155
 
156
  /**
159
  */
160
  public function processCron() {
161
  global $wpdb;
162
+ if (get_transient('google_blocked') !== false) {
163
+ return;
164
+ }
165
+ set_time_limit(3000);
166
  /* Load the Submit Actions Handler */
167
  SQ_ObjController::getController('SQ_Tools', false);
168
  SQ_ObjController::getController('SQ_Action', false);
176
  if ($rows = $wpdb->get_results($sql)) {
177
  $count = 0;
178
  foreach ($rows as $row) {
179
+ if ($count > 15) {
180
  break; //check only 10 keywords at the time
181
  }
182
  if ($row->meta_value <> '') {
188
  (isset($json->update) && isset($json->rank) && $json->rank == -1 && (time() - $json->update > (60 * 60 * 24))) //if not indexed than check often
189
  )) {
190
 
191
+ $rank = $this->processRanking($row->post_id, $json->keyword);
192
+ if ($rank == -1) {
193
  $count++;
194
+ sleep(mt_rand(20, 50));
195
  //if not indexed with the keyword then find the url
196
  if ($this->processRanking($row->post_id, get_permalink($row->post_id)) > 0) {
197
+ $rank = 0; //for permalink index set 0
198
  }
199
  }
200
 
201
+ //if there is a success response than save it
202
+ if (isset($rank) && $rank >= -1) {
203
+ $json->rank = $rank;
204
  $json->country = $this->getCountry();
205
  $json->language = $this->getLanguage();
206
  SQ_ObjController::getModel('SQ_Post')->saveKeyword($row->post_id, $json);
207
+ }
208
+ set_transient('sq_rank' . $row->post_id, $rank, (60 * 60 * 24));
209
+ //if rank proccess has no error
210
 
211
+ $args = array();
212
+ $args['post_id'] = $row->post_id;
213
+ $args['rank'] = (string) $rank;
214
+ $args['error'] = $this->error;
215
+ $args['country'] = $this->getCountry();
216
+ $args['language'] = $this->getLanguage();
 
217
 
218
+ SQ_Action::apiCall('sq/user-analytics/saveserp', $args);
219
+
220
+ $count++;
221
+ sleep(mt_rand(20, 50));
 
222
  }
223
  }
224
  }
classes/SQ_Sitemap.php CHANGED
@@ -173,7 +173,7 @@ class SQ_Sitemap extends SQ_FrontController {
173
  $categories = get_terms("category", array("hide_empty" => true, "hierarchical" => false));
174
  if ($categories && is_array($categories) && count($categories) > 0) {
175
  foreach ($categories AS $category) {
176
- $this->addLine(get_category_link($category->term_id), 0, $this->opt['category'][1], $this->opt['category'][0]);
177
  }
178
  }
179
  }
@@ -319,8 +319,9 @@ class SQ_Sitemap extends SQ_FrontController {
319
  * @return string
320
  */
321
  private function getTimestamp($time) {
 
 
322
 
323
- $time = date('Y-m-d H:i:s');
324
  list($date, $hours) = explode(' ', $time);
325
  list($year, $month, $day) = explode('-', $date);
326
  list($hour, $min, $sec) = explode(':', $hours);
173
  $categories = get_terms("category", array("hide_empty" => true, "hierarchical" => false));
174
  if ($categories && is_array($categories) && count($categories) > 0) {
175
  foreach ($categories AS $category) {
176
+ $this->addLine(get_category_link($category->term_id), $this->getTimestamp(get_lastpostmodified('GMT')), $this->opt['category'][1], $this->opt['category'][0]);
177
  }
178
  }
179
  }
319
  * @return string
320
  */
321
  private function getTimestamp($time) {
322
+ if (!isset($time) || $time == '')
323
+ $time = date('Y-m-d H:i:s');
324
 
 
325
  list($date, $hours) = explode(' ', $time);
326
  list($year, $month, $day) = explode('-', $date);
327
  list($hour, $min, $sec) = explode(':', $hours);
classes/SQ_Tools.php CHANGED
@@ -11,7 +11,7 @@ class SQ_Tools extends SQ_FrontController {
11
  public static $options = array();
12
 
13
  /** @var integer Count the errors in site */
14
- static $errors_count = 0;
15
 
16
  /** @var array */
17
  private static $debug;
@@ -75,11 +75,11 @@ class SQ_Tools extends SQ_FrontController {
75
  public static function getOptions() {
76
  $default = array(
77
  'sq_api' => '',
78
- 'sq_use' => 1,
79
  'sq_hide_survey' => 0,
80
  // --
81
  'sq_auto_canonical' => 1,
82
- 'sq_auto_sitemap' => 1,
83
  'sq_auto_meta' => 1,
84
  'sq_auto_favicon' => 1,
85
  'sq_auto_twitter' => 1,
@@ -98,6 +98,7 @@ class SQ_Tools extends SQ_FrontController {
98
  'sq_google_analytics' => '',
99
  'sq_facebook_insights' => '',
100
  'sq_bing_wt' => '',
 
101
  'sq_alexa' => '',
102
  // --
103
  'ignore_warn' => 0,
@@ -106,12 +107,16 @@ class SQ_Tools extends SQ_FrontController {
106
  //
107
  'sq_google_country' => 'com',
108
  'sq_google_language' => 'en',
 
109
  // --
110
  'sq_advance_user' => 0,
111
  'sq_affiliate_link' => '',
112
  'sq_sla' => 1,
 
 
113
  //--
114
  'sq_dbtables' => 0,
 
115
  'sq_analytics' => 0,
116
  );
117
  $options = json_decode(get_option(SQ_OPTION), true);
@@ -157,12 +162,12 @@ class SQ_Tools extends SQ_FrontController {
157
  * @return mixed Value
158
  */
159
  public static function getValue($key, $defaultValue = false) {
160
- if (!isset($key) OR empty($key) OR !is_string($key))
161
  return false;
162
  $ret = (isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $defaultValue));
163
 
164
  if (is_string($ret) === true)
165
- $ret = urldecode(preg_replace('/((\%5C0+)|(\%00+))/i', '', urlencode($ret)));
166
  return !is_string($ret) ? $ret : stripslashes($ret);
167
  }
168
 
@@ -173,7 +178,7 @@ class SQ_Tools extends SQ_FrontController {
173
  * @return boolean
174
  */
175
  public static function getIsset($key) {
176
- if (!isset($key) OR empty($key) OR !is_string($key))
177
  return false;
178
  return isset($_POST[$key]) ? true : (isset($_GET[$key]) ? true : false);
179
  }
@@ -217,7 +222,7 @@ class SQ_Tools extends SQ_FrontController {
217
  $url_domain = $url_domain['host'];
218
 
219
  foreach ($param as $key => $value) {
220
- if ($value <> '' && $key <> 'timeout')
221
  $parameters .= ($parameters == "" ? "" : "&") . $key . "=" . $value;
222
  }
223
  if ($parameters <> '')
@@ -257,7 +262,6 @@ class SQ_Tools extends SQ_FrontController {
257
  //--
258
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
259
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
260
- curl_setopt($ch, CURLOPT_FAILONERROR, false);
261
  //--
262
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
263
  curl_setopt($ch, CURLOPT_TIMEOUT, $param['timeout']);
@@ -342,13 +346,16 @@ class SQ_Tools extends SQ_FrontController {
342
  * Check for SEO blog bad settings
343
  */
344
  public static function checkErrorSettings($count_only = false) {
 
345
  if (function_exists('is_network_admin') && is_network_admin())
346
  return;
347
 
348
  if (isset(self::$options['ignore_warn']) && self::$options['ignore_warn'] == 1)
349
  return;
350
 
351
- $fixit = "<a href=\"javascript:void(0);\" onclick=\"%s jQuery(this).closest('div').fadeOut('slow'); if(parseInt(jQuery('.sq_count').html())>0) { var notif = (parseInt(jQuery('.sq_count').html()) - 1); if (notif > 0) {jQuery('.sq_count').html(notif); }else{ jQuery('.sq_count').html(notif); jQuery('.sq_count').hide(); } } jQuery.post(ajaxurl, { action: '%s', nonce: '" . wp_create_nonce('sq_none') . "'});\" >" . __("Fix it for me!", _SQ_PLUGIN_NAME_) . "</a>";
 
 
352
 
353
 
354
  /* IF SEO INDEX IS OFF */
@@ -359,28 +366,35 @@ class SQ_Tools extends SQ_FrontController {
359
  SQ_Error::setError(__('Let Squirrly optimize your SEO automatically (recommended)', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_use_on').attr('checked', true);", "sq_fixautoseo") . " | ", 'settings', 'sq_fix_auto');
360
  }
361
 
362
- /* IF DESCRIPTION DUPLICATES */
363
- if (self::getDuplicateDescription()) {
364
- if ($count_only)
365
- self::$errors_count ++;
366
- else
367
- SQ_Error::setError(__('You have META Description Duplicates. Disable the Squirrly SEO Description or disable the other SEO Plugins', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_auto_description0').attr('checked', true); jQuery('#sq_automatically').attr('checked', true);", "sq_fix_descduplicate") . " | ", 'settings', 'sq_fix_descduplicate');
368
- }
369
 
370
- /* IF OG DUPLICATES */
371
- if (self::getDuplicateOG()) {
372
- if ($count_only)
373
- self::$errors_count ++;
374
- else
375
- SQ_Error::setError(__('You have Open Graph META Duplicates. Disable the Squirrly SEO Open Graph or disable the other SEO Plugins', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_auto_facebook0').attr('checked', true);", "sq_fix_ogduplicate") . " | ", 'settings', 'sq_fix_ogduplicate');
376
- }
 
377
 
378
- /* IF TWITTER CARD DUPLICATES */
379
- if (self::getDuplicateTC()) {
380
- if ($count_only)
381
- self::$errors_count ++;
382
- else
383
- SQ_Error::setError(__('You have Twitter Card META Duplicates. Disable the Squirrly SEO Twitter Card or disable the other SEO Plugins', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_auto_twitter0').attr('checked', true);", "sq_fix_tcduplicate") . " | ", 'settings', 'sq_fix_tcduplicate');
 
 
 
 
 
 
 
 
 
 
384
  }
385
 
386
  /* IF SEO INDEX IS OFF */
@@ -421,8 +435,6 @@ class SQ_Tools extends SQ_FrontController {
421
  }
422
 
423
  if (self::$options['sq_use'] == 1 && self::$options['sq_auto_facebook'] == 1) {
424
- if (!isset(self::$source_code))
425
- self::$source_code = self::sq_remote_get(get_bloginfo('url'), array('timeout' => 10));
426
 
427
  if (self::$source_code <> '') {
428
  preg_match_all("/<meta[\s+]property=[\"|\']og:url[\"|\'][\s+](content|value)=[\"|\']([^>]*)[\"|\'][^>]*>/i", self::$source_code, $out);
@@ -445,8 +457,6 @@ class SQ_Tools extends SQ_FrontController {
445
  }
446
 
447
  if (self::$options['sq_use'] == 1 && self::$options['sq_auto_twitter'] == 1) {
448
- if (!isset(self::$source_code))
449
- self::$source_code = self::sq_remote_get(get_bloginfo('url'), array('timeout' => 10));
450
 
451
  if (self::$source_code <> '') {
452
  preg_match_all("/<meta[\s+]name=[\"|\']twitter:card[\"|\'][\s+](content|value)=[\"|\']([^>]*)[\"|\'][^>]*>/i", self::$source_code, $out);
@@ -470,9 +480,6 @@ class SQ_Tools extends SQ_FrontController {
470
  $total = 0;
471
 
472
  if (self::$options['sq_use'] == 1 && self::$options['sq_auto_description'] == 1) {
473
- if (!isset(self::$source_code))
474
- self::$source_code = self::sq_remote_get(get_bloginfo('url'), array('timeout' => 10));
475
-
476
  if (self::$source_code <> '') {
477
  preg_match_all("/<meta[^>]*name=[\"|\']description[\"|\'][^>]*content=[\"]([^\"]*)[\"][^>]*>/i", self::$source_code, $out);
478
  if (!empty($out) && isset($out[0]) && is_array($out[0])) {
@@ -767,6 +774,11 @@ class SQ_Tools extends SQ_FrontController {
767
  if (function_exists('wp_cache_post_edit') && isset($post_id)) {
768
  wp_cache_post_edit($post_id);
769
  }
 
 
 
 
 
770
  }
771
 
772
  }
11
  public static $options = array();
12
 
13
  /** @var integer Count the errors in site */
14
+ static $errors_count;
15
 
16
  /** @var array */
17
  private static $debug;
75
  public static function getOptions() {
76
  $default = array(
77
  'sq_api' => '',
78
+ 'sq_use' => 0,
79
  'sq_hide_survey' => 0,
80
  // --
81
  'sq_auto_canonical' => 1,
82
+ 'sq_auto_sitemap' => 0,
83
  'sq_auto_meta' => 1,
84
  'sq_auto_favicon' => 1,
85
  'sq_auto_twitter' => 1,
98
  'sq_google_analytics' => '',
99
  'sq_facebook_insights' => '',
100
  'sq_bing_wt' => '',
101
+ 'sq_pinterest' => '',
102
  'sq_alexa' => '',
103
  // --
104
  'ignore_warn' => 0,
107
  //
108
  'sq_google_country' => 'com',
109
  'sq_google_language' => 'en',
110
+ 'sq_google_country_strict' => 1,
111
  // --
112
  'sq_advance_user' => 0,
113
  'sq_affiliate_link' => '',
114
  'sq_sla' => 1,
115
+ 'sq_keywordtag' => 1,
116
+ 'sq_local_images' => 1,
117
  //--
118
  'sq_dbtables' => 0,
119
+ 'sq_dashboard' => 0,
120
  'sq_analytics' => 0,
121
  );
122
  $options = json_decode(get_option(SQ_OPTION), true);
162
  * @return mixed Value
163
  */
164
  public static function getValue($key, $defaultValue = false) {
165
+ if (!isset($key) OR empty($key) OR ! is_string($key))
166
  return false;
167
  $ret = (isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $defaultValue));
168
 
169
  if (is_string($ret) === true)
170
+ $ret = sanitize_text_field($ret);
171
  return !is_string($ret) ? $ret : stripslashes($ret);
172
  }
173
 
178
  * @return boolean
179
  */
180
  public static function getIsset($key) {
181
+ if (!isset($key) OR empty($key) OR ! is_string($key))
182
  return false;
183
  return isset($_POST[$key]) ? true : (isset($_GET[$key]) ? true : false);
184
  }
222
  $url_domain = $url_domain['host'];
223
 
224
  foreach ($param as $key => $value) {
225
+ if (isset($key) && $key <> '' && $key <> 'timeout')
226
  $parameters .= ($parameters == "" ? "" : "&") . $key . "=" . $value;
227
  }
228
  if ($parameters <> '')
262
  //--
263
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
264
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 
265
  //--
266
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
267
  curl_setopt($ch, CURLOPT_TIMEOUT, $param['timeout']);
346
  * Check for SEO blog bad settings
347
  */
348
  public static function checkErrorSettings($count_only = false) {
349
+
350
  if (function_exists('is_network_admin') && is_network_admin())
351
  return;
352
 
353
  if (isset(self::$options['ignore_warn']) && self::$options['ignore_warn'] == 1)
354
  return;
355
 
356
+
357
+
358
+ $fixit = "<a href=\"javascript:void(0);\" onclick=\"%s jQuery(this).closest('div').fadeOut('slow'); if(parseInt(jQuery('.sq_count').html())>0) { var notif = (parseInt(jQuery('.sq_count').html()) - 1); if (notif > 0) {jQuery('.sq_count').html(notif); }else{ jQuery('.sq_count').html(notif); jQuery('.sq_count').hide(); } } jQuery.post(ajaxurl, { action: '%s', nonce: '" . wp_create_nonce(_SQ_NONCE_ID_) . "'});\" >" . __("Fix it for me!", _SQ_PLUGIN_NAME_) . "</a>";
359
 
360
 
361
  /* IF SEO INDEX IS OFF */
366
  SQ_Error::setError(__('Let Squirrly optimize your SEO automatically (recommended)', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_use_on').attr('checked', true);", "sq_fixautoseo") . " | ", 'settings', 'sq_fix_auto');
367
  }
368
 
369
+ //check only when in seo settings
370
+ if (strpos($_SERVER['REQUEST_URI'], 'page=squirrly')) {
371
+ self::$source_code = self::sq_remote_get(get_bloginfo('url'), array('timeout' => 5));
 
 
 
 
372
 
373
+ if (self::$source_code <> '') {
374
+ /* IF DESCRIPTION DUPLICATES */
375
+ if (self::getDuplicateDescription()) {
376
+ if ($count_only)
377
+ self::$errors_count ++;
378
+ else
379
+ SQ_Error::setError(__('You have META Description Duplicates. Disable the Squirrly SEO Description or disable the other SEO Plugins', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_auto_description0').attr('checked', true); jQuery('#sq_automatically').attr('checked', true);", "sq_fix_descduplicate") . " | ", 'settings', 'sq_fix_descduplicate');
380
+ }
381
 
382
+ /* IF OG DUPLICATES */
383
+ if (self::getDuplicateOG()) {
384
+ if ($count_only)
385
+ self::$errors_count ++;
386
+ else
387
+ SQ_Error::setError(__('You have Open Graph META Duplicates. Disable the Squirrly SEO Open Graph or disable the other SEO Plugins', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_auto_facebook0').attr('checked', true);", "sq_fix_ogduplicate") . " | ", 'settings', 'sq_fix_ogduplicate');
388
+ }
389
+
390
+ /* IF TWITTER CARD DUPLICATES */
391
+ if (self::getDuplicateTC()) {
392
+ if ($count_only)
393
+ self::$errors_count ++;
394
+ else
395
+ SQ_Error::setError(__('You have Twitter Card META Duplicates. Disable the Squirrly SEO Twitter Card or disable the other SEO Plugins', _SQ_PLUGIN_NAME_) . " <br />" . sprintf($fixit, "jQuery('#sq_auto_twitter0').attr('checked', true);", "sq_fix_tcduplicate") . " | ", 'settings', 'sq_fix_tcduplicate');
396
+ }
397
+ }
398
  }
399
 
400
  /* IF SEO INDEX IS OFF */
435
  }
436
 
437
  if (self::$options['sq_use'] == 1 && self::$options['sq_auto_facebook'] == 1) {
 
 
438
 
439
  if (self::$source_code <> '') {
440
  preg_match_all("/<meta[\s+]property=[\"|\']og:url[\"|\'][\s+](content|value)=[\"|\']([^>]*)[\"|\'][^>]*>/i", self::$source_code, $out);
457
  }
458
 
459
  if (self::$options['sq_use'] == 1 && self::$options['sq_auto_twitter'] == 1) {
 
 
460
 
461
  if (self::$source_code <> '') {
462
  preg_match_all("/<meta[\s+]name=[\"|\']twitter:card[\"|\'][\s+](content|value)=[\"|\']([^>]*)[\"|\'][^>]*>/i", self::$source_code, $out);
480
  $total = 0;
481
 
482
  if (self::$options['sq_use'] == 1 && self::$options['sq_auto_description'] == 1) {
 
 
 
483
  if (self::$source_code <> '') {
484
  preg_match_all("/<meta[^>]*name=[\"|\']description[\"|\'][^>]*content=[\"]([^\"]*)[\"][^>]*>/i", self::$source_code, $out);
485
  if (!empty($out) && isset($out[0]) && is_array($out[0])) {
774
  if (function_exists('wp_cache_post_edit') && isset($post_id)) {
775
  wp_cache_post_edit($post_id);
776
  }
777
+
778
+ if (class_exists("WpFastestCache")) {
779
+ $wpfc = new WpFastestCache();
780
+ $wpfc->deleteCache();
781
+ }
782
  }
783
 
784
  }
classes/SQ_Traffic.php CHANGED
@@ -5,24 +5,6 @@
5
  */
6
  class SQ_Traffic extends SQ_FrontController {
7
 
8
- public function getTrafficScript($code) {
9
- return ' <script type="text/javascript">
10
- var _paq = _paq || [];
11
- _paq.push(["trackPageView"]);
12
- _paq.push(["enableLinkTracking"]);
13
-
14
- (function() {
15
- var u= (("https:" == document.location.protocol) ? "https" : "http") + "://analytics.squirrly.co/";
16
- _paq.push(["setTrackerUrl", u+"track.php"]);
17
- _paq.push(["setSiteId", "' . $code . '"]);
18
- var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
19
- g.defer=true; g.async=true; g.src=u+"track.js"; s.parentNode.insertBefore(g,s);
20
- })();
21
- </script>
22
- <noscript><img src="http://analytics.squirrly.co/track.php?idsite=' . $code . '&amp;rec=1" style="border:0" alt="" /></noscript>
23
- ';
24
- }
25
-
26
  }
27
 
28
  ?>
5
  */
6
  class SQ_Traffic extends SQ_FrontController {
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  }
9
 
10
  ?>
config/config.php CHANGED
@@ -4,7 +4,7 @@
4
  * The configuration file
5
  */
6
  define('_SQ_SUPPORT_EMAIL_', 'support@squirrly.co');
7
- define('_SQ_NONCE_ID_', 'sq_none');
8
 
9
  if (!defined('PHP_VERSION_ID')) {
10
  $version = explode('.', PHP_VERSION);
4
  * The configuration file
5
  */
6
  define('_SQ_SUPPORT_EMAIL_', 'support@squirrly.co');
7
+ define('_SQ_NONCE_ID_', NONCE_KEY);
8
 
9
  if (!defined('PHP_VERSION_ID')) {
10
  $version = explode('.', PHP_VERSION);
config/paths.php CHANGED
@@ -7,7 +7,7 @@ define('_SQ_PLUGIN_NAME_', 'squirrly-seo'); //THIS LINE WILL BE CHANGED WITH THE
7
  define('_THEME_NAME_', 'default'); //THIS LINE WILL BE CHANGED WITH THE USER SETTINGS
8
 
9
  define('_SQ_DASH_URL_', 'https://my.squirrly.co/');
10
- $scheme = ((strpos(get_bloginfo('wpurl'), 'https') !== false || FORCE_SSL_ADMIN) ? 'https:' : 'http:'); //CHECK IF SCURE
11
 
12
  defined('SQ_URI') || define('SQ_URI', (WP_VERSION_ID >= 3000) ? 'wp350' : 'wp2');
13
  defined('_SQ_API_URL_') || define('_SQ_API_URL_', $scheme . '//api.squirrly.co/');
7
  define('_THEME_NAME_', 'default'); //THIS LINE WILL BE CHANGED WITH THE USER SETTINGS
8
 
9
  define('_SQ_DASH_URL_', 'https://my.squirrly.co/');
10
+ $scheme = ((strpos(get_bloginfo('wpurl'), 'https') !== false || (defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN)) ? 'https:' : 'http:'); //CHECK IF SCURE
11
 
12
  defined('SQ_URI') || define('SQ_URI', (WP_VERSION_ID >= 3000) ? 'wp350' : 'wp2');
13
  defined('_SQ_API_URL_') || define('_SQ_API_URL_', $scheme . '//api.squirrly.co/');
controllers/SQ_Frontend.php CHANGED
@@ -5,31 +5,35 @@ class SQ_Frontend extends SQ_FrontController {
5
  public static $options;
6
 
7
  public function __construct() {
8
- if ((!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false)
9
  return;
10
 
11
  parent::__construct();
12
-
13
  SQ_ObjController::getController('SQ_Tools', false);
14
- self::$options = SQ_Tools::getOptions();
15
 
16
- if (SQ_Tools::getValue('sq_use') == 'on')
17
- self::$options['sq_use'] = 1;
18
- elseif (SQ_Tools::getValue('sq_use') == 'off')
19
- self::$options['sq_use'] = 0;
 
20
  }
21
 
22
  /**
23
  * Called after plugins are loaded
24
  */
25
- public function hookLoaded() {
26
- if (self::$options['sq_use'] == 1) {
27
- if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
28
- return;
29
- if (strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false)
 
 
 
 
30
  return;
31
  //Use buffer only for meta Title
32
- //if(self::$options['sq_auto_title'] == 1)
33
  $this->model->startBuffer();
34
  }
35
  }
@@ -38,16 +42,16 @@ class SQ_Frontend extends SQ_FrontController {
38
  * Hook the Header load
39
  */
40
  public function hookFronthead() {
41
- if ((!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false)
42
  return;
43
 
44
  echo $this->model->setStart();
45
 
46
- if (isset(self::$options['sq_use']) && (int) self::$options['sq_use'] == 1) {
47
  echo $this->model->setHeader();
48
 
49
  //Use buffer only for meta Title
50
- //if(self::$options['sq_auto_title'] == 1)
51
  $this->model->flushHeader();
52
  }
53
 
@@ -96,15 +100,10 @@ class SQ_Frontend extends SQ_FrontController {
96
  * Hook Footer load to save the visit and to close the buffer
97
  */
98
  public function hookFrontfooter() {
99
- if (isset(self::$options['sq_use']) && (int) self::$options['sq_use'] == 1) {
100
  //Be sure the heder is flushed
101
- //if(self::$options['sq_auto_title'] == 1)
102
  $this->model->flushHeader();
103
  }
104
-
105
- if (isset(self::$options['sq_analytics_code']) && !(current_user_can('edit_posts') )) {
106
- $this->model->setFooter(self::$options['sq_analytics_code']);
107
- }
108
  }
109
 
110
  }
5
  public static $options;
6
 
7
  public function __construct() {
8
+ if ($this->_isAjax())
9
  return;
10
 
11
  parent::__construct();
 
12
  SQ_ObjController::getController('SQ_Tools', false);
13
+ }
14
 
15
+ private function _isAjax() {
16
+ if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false)
17
+ return true;
18
+
19
+ return false;
20
  }
21
 
22
  /**
23
  * Called after plugins are loaded
24
  */
25
+ public function hookPreload() {
26
+ if (SQ_Tools::getValue('sq_use') == 'on') {
27
+ SQ_Tools::$options['sq_use'] = 1;
28
+ } elseif (SQ_Tools::getValue('sq_use') == 'off') {
29
+ SQ_Tools::$options['sq_use'] = 0;
30
+ }
31
+
32
+ if (SQ_Tools::$options['sq_use'] == 1) {
33
+ if ($this->_isAjax())
34
  return;
35
  //Use buffer only for meta Title
36
+ //if(SQ_Tools::$options['sq_auto_title'] == 1)
37
  $this->model->startBuffer();
38
  }
39
  }
42
  * Hook the Header load
43
  */
44
  public function hookFronthead() {
45
+ if ($this->_isAjax())
46
  return;
47
 
48
  echo $this->model->setStart();
49
 
50
+ if (isset(SQ_Tools::$options['sq_use']) && (int) SQ_Tools::$options['sq_use'] == 1) {
51
  echo $this->model->setHeader();
52
 
53
  //Use buffer only for meta Title
54
+ //if(SQ_Tools::$options['sq_auto_title'] == 1)
55
  $this->model->flushHeader();
56
  }
57
 
100
  * Hook Footer load to save the visit and to close the buffer
101
  */
102
  public function hookFrontfooter() {
103
+ if (isset(SQ_Tools::$options['sq_use']) && (int) SQ_Tools::$options['sq_use'] == 1) {
104
  //Be sure the heder is flushed
 
105
  $this->model->flushHeader();
106
  }
 
 
 
 
107
  }
108
 
109
  }
controllers/SQ_Menu.php CHANGED
@@ -67,7 +67,7 @@ class SQ_Menu extends SQ_FrontController {
67
  }
68
 
69
  /* add the plugin menu in admin */
70
- if (current_user_can('administrator')) {
71
  SQ_Tools::checkErrorSettings(true);
72
  //check if activated
73
  $this->checkActivation();
@@ -80,8 +80,27 @@ class SQ_Menu extends SQ_FrontController {
80
  //Push the Analytics Check
81
  $analytics_alert = 0;
82
  if (SQ_ObjController::getModel('SQ_Post')->countKeywords() > 0) {
83
- $analytics_alert = ((SQ_Tools::$options['sq_analytics'] == 0) ? 1 : 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  }
 
85
  SQ_Tools::$errors_count += $analytics_alert;
86
  ///////////////
87
 
@@ -121,7 +140,7 @@ class SQ_Menu extends SQ_FrontController {
121
  $this->model->addSubmenu(array($first_page,
122
  ucfirst(_SQ_NAME_) . __(' account info', _SQ_PLUGIN_NAME_),
123
  __('Account Info', _SQ_PLUGIN_NAME_),
124
- 'administrator',
125
  'sq_account',
126
  array(SQ_ObjController::getBlock('SQ_BlockAccount'), 'init')
127
  ));
@@ -129,7 +148,7 @@ class SQ_Menu extends SQ_FrontController {
129
  $this->model->addSubmenu(array($first_page,
130
  ucfirst(_SQ_NAME_) . __(' settings', _SQ_PLUGIN_NAME_),
131
  __('SEO Settings', _SQ_PLUGIN_NAME_) . SQ_Tools::showNotices(SQ_Tools::$errors_count, 'errors_count'),
132
- 'administrator',
133
  preg_replace('/\s/', '_', _SQ_NAME_),
134
  array($this, 'showMenu')
135
  ));
@@ -138,7 +157,7 @@ class SQ_Menu extends SQ_FrontController {
138
  $this->model->addSubmenu(array($first_page,
139
  __('Make money with ', _SQ_PLUGIN_NAME_) . ucfirst(_SQ_NAME_),
140
  __('Make money', _SQ_PLUGIN_NAME_),
141
- 'administrator',
142
  'sq_affiliate',
143
  array(SQ_ObjController::getBlock('SQ_BlockAffiliate'), 'init')
144
  ));
@@ -164,7 +183,7 @@ class SQ_Menu extends SQ_FrontController {
164
  * @return void
165
  */
166
  public function showMenu() {
167
-
168
  SQ_Tools::checkErrorSettings();
169
  /* Force call of error display */
170
  SQ_ObjController::getController('SQ_Error', false)->hookNotices();
@@ -173,6 +192,8 @@ class SQ_Menu extends SQ_FrontController {
173
  /* Get the options from Database */
174
  $this->options = SQ_Tools::$options;
175
  SQ_ObjController::getBlock('SQ_BlockSupport')->init();
 
 
176
  parent::init();
177
  }
178
 
@@ -207,18 +228,39 @@ class SQ_Menu extends SQ_FrontController {
207
  $sq_twitter_account = '@' . $sq_twitter_account;
208
  SQ_Tools::saveOptions('sq_twitter_account', $sq_twitter_account);
209
 
210
- SQ_Tools::saveOptions('sq_auto_seo', (int) SQ_Tools::getValue('sq_auto_seo'));
211
- SQ_Tools::saveOptions('sq_fp_title', SQ_Tools::getValue('sq_fp_title'));
212
- SQ_Tools::saveOptions('sq_fp_description', SQ_Tools::getValue('sq_fp_description'));
213
- SQ_Tools::saveOptions('sq_fp_keywords', SQ_Tools::getValue('sq_fp_keywords'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
 
215
  SQ_Tools::saveOptions('sq_google_country', SQ_Tools::getValue('sq_google_country'));
 
 
216
 
217
  SQ_Tools::saveOptions('sq_google_plus', SQ_Tools::getValue('sq_google_plus'));
218
  SQ_Tools::saveOptions('sq_google_wt', $this->model->checkGoogleWTCode(SQ_Tools::getValue('sq_google_wt')));
219
  SQ_Tools::saveOptions('sq_google_analytics', $this->model->checkGoogleAnalyticsCode(SQ_Tools::getValue('sq_google_analytics')));
220
  SQ_Tools::saveOptions('sq_facebook_insights', $this->model->checkFavebookInsightsCode(SQ_Tools::getValue('sq_facebook_insights')));
221
  SQ_Tools::saveOptions('sq_bing_wt', $this->model->checkBingWTCode(SQ_Tools::getValue('sq_bing_wt')));
 
222
  SQ_Tools::saveOptions('sq_alexa', $this->model->checkBingWTCode(SQ_Tools::getValue('sq_alexa')));
223
 
224
 
@@ -226,6 +268,8 @@ class SQ_Menu extends SQ_FrontController {
226
  SQ_Tools::saveOptions('sq_keyword_help', (int) SQ_Tools::getValue('sq_keyword_help'));
227
  SQ_Tools::saveOptions('sq_keyword_information', (int) SQ_Tools::getValue('sq_keyword_information'));
228
  SQ_Tools::saveOptions('sq_sla', (int) SQ_Tools::getValue('sq_sla'));
 
 
229
 
230
  //update_option('blog_public', (int)SQ_Tools::getValue('sq_google_index'));
231
 
@@ -248,11 +292,6 @@ class SQ_Menu extends SQ_FrontController {
248
  //empty the cache on settings changed
249
  SQ_Tools::emptyCache();
250
  break;
251
- case 'sq_save_analytics':
252
-
253
- SQ_Tools::saveOptions('sq_analytics_code', SQ_Tools::getValue('sq_analytics_code'));
254
- SQ_Tools::emptyCache();
255
- break;
256
  case 'sq_fixautoseo':
257
  SQ_Tools::saveOptions('sq_use', 1);
258
  break;
@@ -292,6 +331,7 @@ class SQ_Menu extends SQ_FrontController {
292
  $url = get_bloginfo('url');
293
  }
294
  $snippet = SQ_Tools::getSnippet($url);
 
295
 
296
  /* if((int)SQ_Tools::getValue('post_id') > 0)
297
  $snippet['url'] = get_permalink((int)SQ_Tools::getValue('post_id'));
67
  }
68
 
69
  /* add the plugin menu in admin */
70
+ if (current_user_can('manage_options')) {
71
  SQ_Tools::checkErrorSettings(true);
72
  //check if activated
73
  $this->checkActivation();
80
  //Push the Analytics Check
81
  $analytics_alert = 0;
82
  if (SQ_ObjController::getModel('SQ_Post')->countKeywords() > 0) {
83
+ if (SQ_Tools::$options['sq_analytics'] == 0) {
84
+ $analytics_alert = 1;
85
+ }
86
+
87
+ if (strpos($_SERVER['REQUEST_URI'], '?page=sq_dashboard') !== false) {
88
+ SQ_Tools::saveOptions('sq_dashboard', 1);
89
+ } else {
90
+ if (SQ_Tools::$options['sq_dashboard'] == 0) {
91
+ $analytics_alert = 1;
92
+ if (!get_transient('sq_dashboard')) {
93
+ set_transient('sq_dashboard', time(), (60 * 60 * 24 * 7));
94
+ } else {
95
+ $time_loaded = get_transient('sq_dashboard');
96
+ if (time() - $time_loaded > (60 * 60 * 24 * 3)) {
97
+ SQ_Error::setError(__('Check out your SEO Audit and the Performance Analytics section. <a href="admin.php?page=sq_dashboard" title="Squirrly Dashboard">Click here</a>', _SQ_PLUGIN_NAME_));
98
+ }
99
+ }
100
+ }
101
+ }
102
  }
103
+
104
  SQ_Tools::$errors_count += $analytics_alert;
105
  ///////////////
106
 
140
  $this->model->addSubmenu(array($first_page,
141
  ucfirst(_SQ_NAME_) . __(' account info', _SQ_PLUGIN_NAME_),
142
  __('Account Info', _SQ_PLUGIN_NAME_),
143
+ 'manage_options',
144
  'sq_account',
145
  array(SQ_ObjController::getBlock('SQ_BlockAccount'), 'init')
146
  ));
148
  $this->model->addSubmenu(array($first_page,
149
  ucfirst(_SQ_NAME_) . __(' settings', _SQ_PLUGIN_NAME_),
150
  __('SEO Settings', _SQ_PLUGIN_NAME_) . SQ_Tools::showNotices(SQ_Tools::$errors_count, 'errors_count'),
151
+ 'manage_options',
152
  preg_replace('/\s/', '_', _SQ_NAME_),
153
  array($this, 'showMenu')
154
  ));
157
  $this->model->addSubmenu(array($first_page,
158
  __('Make money with ', _SQ_PLUGIN_NAME_) . ucfirst(_SQ_NAME_),
159
  __('Make money', _SQ_PLUGIN_NAME_),
160
+ 'manage_options',
161
  'sq_affiliate',
162
  array(SQ_ObjController::getBlock('SQ_BlockAffiliate'), 'init')
163
  ));
183
  * @return void
184
  */
185
  public function showMenu() {
186
+ /* Load the error class */
187
  SQ_Tools::checkErrorSettings();
188
  /* Force call of error display */
189
  SQ_ObjController::getController('SQ_Error', false)->hookNotices();
192
  /* Get the options from Database */
193
  $this->options = SQ_Tools::$options;
194
  SQ_ObjController::getBlock('SQ_BlockSupport')->init();
195
+
196
+ //call the init function from Front class
197
  parent::init();
198
  }
199
 
228
  $sq_twitter_account = '@' . $sq_twitter_account;
229
  SQ_Tools::saveOptions('sq_twitter_account', $sq_twitter_account);
230
 
231
+ SQ_Tools::saveOptions('sq_auto_seo', 0);
232
+ if ($pageId = get_option('page_on_front')) {
233
+ $meta = array();
234
+ if (SQ_Tools::getIsset('sq_fp_title'))
235
+ $meta[] = array('key' => 'sq_fp_title', 'value' => urldecode(SQ_Tools::getValue('sq_fp_title')));
236
+
237
+ if (SQ_Tools::getIsset('sq_fp_description'))
238
+ $meta[] = array('key' => 'sq_fp_description', 'value' => urldecode(SQ_Tools::getValue('sq_fp_description')));
239
+
240
+ if (SQ_Tools::getIsset('sq_fp_keywords'))
241
+ $meta[] = array('key' => 'sq_fp_keywords', 'value' => SQ_Tools::getValue('sq_fp_keywords'));
242
+
243
+ if (SQ_Tools::getIsset('sq_fp_ogimage'))
244
+ $meta[] = array('key' => 'sq_fp_ogimage', 'value' => SQ_ObjController::getModel('SQ_Frontend')->getAdvancedMeta($pageId, 'ogimage'));
245
+
246
+ if (!empty($meta))
247
+ SQ_ObjController::getModel('SQ_Post')->saveAdvMeta($pageId, $meta);
248
+ }else {
249
+ SQ_Tools::saveOptions('sq_fp_title', SQ_Tools::getValue('sq_fp_title'));
250
+ SQ_Tools::saveOptions('sq_fp_description', SQ_Tools::getValue('sq_fp_description'));
251
+ SQ_Tools::saveOptions('sq_fp_keywords', SQ_Tools::getValue('sq_fp_keywords'));
252
+ }
253
 
254
  SQ_Tools::saveOptions('sq_google_country', SQ_Tools::getValue('sq_google_country'));
255
+ SQ_Tools::saveOptions('sq_google_country_strict', SQ_Tools::getValue('sq_google_country_strict'));
256
+
257
 
258
  SQ_Tools::saveOptions('sq_google_plus', SQ_Tools::getValue('sq_google_plus'));
259
  SQ_Tools::saveOptions('sq_google_wt', $this->model->checkGoogleWTCode(SQ_Tools::getValue('sq_google_wt')));
260
  SQ_Tools::saveOptions('sq_google_analytics', $this->model->checkGoogleAnalyticsCode(SQ_Tools::getValue('sq_google_analytics')));
261
  SQ_Tools::saveOptions('sq_facebook_insights', $this->model->checkFavebookInsightsCode(SQ_Tools::getValue('sq_facebook_insights')));
262
  SQ_Tools::saveOptions('sq_bing_wt', $this->model->checkBingWTCode(SQ_Tools::getValue('sq_bing_wt')));
263
+ SQ_Tools::saveOptions('sq_pinterest', $this->model->checkPinterestCode(SQ_Tools::getValue('sq_pinterest')));
264
  SQ_Tools::saveOptions('sq_alexa', $this->model->checkBingWTCode(SQ_Tools::getValue('sq_alexa')));
265
 
266
 
268
  SQ_Tools::saveOptions('sq_keyword_help', (int) SQ_Tools::getValue('sq_keyword_help'));
269
  SQ_Tools::saveOptions('sq_keyword_information', (int) SQ_Tools::getValue('sq_keyword_information'));
270
  SQ_Tools::saveOptions('sq_sla', (int) SQ_Tools::getValue('sq_sla'));
271
+ SQ_Tools::saveOptions('sq_keywordtag', (int) SQ_Tools::getValue('sq_keywordtag'));
272
+ SQ_Tools::saveOptions('sq_local_images', (int) SQ_Tools::getValue('sq_local_images'));
273
 
274
  //update_option('blog_public', (int)SQ_Tools::getValue('sq_google_index'));
275
 
292
  //empty the cache on settings changed
293
  SQ_Tools::emptyCache();
294
  break;
 
 
 
 
 
295
  case 'sq_fixautoseo':
296
  SQ_Tools::saveOptions('sq_use', 1);
297
  break;
331
  $url = get_bloginfo('url');
332
  }
333
  $snippet = SQ_Tools::getSnippet($url);
334
+ //SQ_Tools::dump($snippet);
335
 
336
  /* if((int)SQ_Tools::getValue('post_id') > 0)
337
  $snippet['url'] = get_permalink((int)SQ_Tools::getValue('post_id'));
controllers/SQ_Post.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  class SQ_Post extends SQ_FrontController {
4
 
5
- var $saved;
6
 
7
  /**
8
  * Initialize the TinyMCE editor for the current use
@@ -10,17 +10,19 @@ class SQ_Post extends SQ_FrontController {
10
  * @return void
11
  */
12
  public function hookInit() {
13
- add_filter('tiny_mce_before_init', array(&$this->model, 'setCallback'));
14
- add_filter('mce_external_plugins', array(&$this->model, 'addHeadingButton'));
15
- add_filter('mce_buttons', array(&$this->model, 'registerButton'));
 
 
16
 
17
  if (SQ_Tools::$options['sq_api'] == '')
18
  return;
19
 
20
- add_action('save_post', array($this, 'hookSavePost'), 10);
21
 
22
  //For Shopp plugin - product
23
- add_action('shopp_product_saved', array($this, 'hookShopp'), 10);
24
  }
25
 
26
  /**
@@ -62,39 +64,31 @@ class SQ_Post extends SQ_FrontController {
62
  */
63
  public function hookSavePost($post_id) {
64
  $file_name = false;
65
-
 
66
 
67
  // unhook this function so it doesn't loop infinitely
68
- remove_action('save_post', array($this, 'hookSavePost'), 10);
69
-
70
  //If the post is a new or edited post
71
  if ((SQ_Tools::getValue('action')) == 'editpost' &&
72
- wp_is_post_revision($post_id) == '' &&
73
  wp_is_post_autosave($post_id) == '' &&
74
  get_post_status($post_id) != 'auto-draft' &&
75
  get_post_status($post_id) != 'inherit' &&
76
  SQ_Tools::getValue('autosave') == '') {
77
- //echo 'saving';
78
- //check for custom SEO
79
- $this->_checkAdvMeta($post_id);
80
- //check the SEO from Squirrly Live Assistant
81
- $this->checkSeo($post_id, get_post_status($post_id));
82
- }
83
 
84
- //If the post is not auto-save post
85
- if ((SQ_Tools::getValue('action')) == 'editpost' &&
86
- wp_is_post_autosave($post_id) == '' &&
87
- get_post_status($post_id) != 'auto-draft' &&
88
- get_post_status($post_id) != 'inherit' &&
89
- SQ_Tools::getValue('autosave') == '') {
90
-
91
- if (!$this->saved)
92
- //check the remote images
93
  $this->checkImage($post_id);
94
- $this->saved = true;
 
95
  }
96
 
97
- add_action('save_post', array($this, 'hookSavePost'), 10);
 
98
  }
99
 
100
  /**
@@ -104,69 +98,75 @@ class SQ_Post extends SQ_FrontController {
104
  * @return false|void
105
  */
106
  public function checkImage($post_id) {
107
- @set_time_limit(90);
108
- $local_file = false;
109
-
110
- $content = stripslashes(SQ_Tools::getValue('post_content'));
111
- $tmpcontent = trim($content, "\n");
112
- $urls = array();
113
-
114
- if (function_exists('preg_match_all')) {
115
- @preg_match_all('/<img[^>]*src="([^"]+)"[^>]*>/i', $tmpcontent, $out);
116
-
117
- if (is_array($out)) {
118
- if (!is_array($out[1]) || count($out[1]) == 0)
119
- return;
120
-
121
- if (get_bloginfo('wpurl') <> '') {
122
- $domain = parse_url(get_bloginfo('wpurl'));
123
-
124
- foreach ($out[1] as $row) {
125
- if (strpos($row, 'http') !== false &&
126
- strpos($row, $domain['host']) === false) {
127
- if (!in_array($row, $urls)) {
128
- $urls[] = $row;
 
 
 
129
  }
130
  }
131
  }
132
  }
133
  }
134
- }
135
-
136
- if (!is_array($urls) || (is_array($urls) && count($urls) == 0))
137
- return;
138
 
139
- $urls = @array_unique($urls);
140
- foreach ($urls as $url) {
141
- if ($file = $this->model->upload_image($url)) {
142
- if (!file_is_valid_image($file['file']))
143
- continue;
144
-
145
- //encode special characters
146
- $local_file = str_replace($file['filename'], urlencode($file['filename']), $file['url']);
147
- if ($local_file !== false) {
148
- $content = str_replace($url, $local_file, $content);
149
-
150
- $attach_id = wp_insert_attachment(array(
151
- 'post_mime_type' => $file['type'],
152
- 'post_title' => preg_replace('/\.[^.]+$/', '', $file['filename']),
153
- 'post_content' => '',
154
- 'post_status' => 'inherit',
155
- 'guid' => $local_file
156
- ), $file['file'], $post_id);
157
-
158
- $attach_data = wp_generate_attachment_metadata($attach_id, $file['file']);
159
- wp_update_attachment_metadata($attach_id, $attach_data);
 
 
 
 
 
 
 
160
  }
161
  }
162
- }
163
 
164
 
165
- if ($local_file !== false) {
166
- wp_update_post(array(
167
- 'ID' => $post_id,
168
- 'post_content' => $content)
169
- );
 
170
  }
171
  }
172
 
@@ -193,7 +193,7 @@ class SQ_Post extends SQ_FrontController {
193
  $args['author'] = (int) SQ_Tools::getUserID();
194
  $args['post_id'] = $post_id;
195
 
196
- SQ_Action::apiCall('sq/seo/post', $args, 10);
197
 
198
  //Save the keyword for this post
199
  if ($json = $this->model->getKeyword($post_id)) {
@@ -225,7 +225,39 @@ class SQ_Post extends SQ_FrontController {
225
  switch (SQ_Tools::getValue('action')) {
226
  case 'sq_save_meta':
227
  $return = $this->_checkAdvMeta(SQ_Tools::getValue('post_id'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  echo json_encode($return);
 
 
 
 
 
 
 
 
 
 
229
  break;
230
  }
231
  exit();
@@ -253,6 +285,10 @@ class SQ_Post extends SQ_FrontController {
253
  $meta[] = array('key' => 'sq_fp_keywords',
254
  'value' => SQ_Tools::getValue('sq_fp_keywords'));
255
 
 
 
 
 
256
  $this->model->saveAdvMeta($post_id, $meta);
257
  return $meta;
258
  }
2
 
3
  class SQ_Post extends SQ_FrontController {
4
 
5
+ public $saved;
6
 
7
  /**
8
  * Initialize the TinyMCE editor for the current use
10
  * @return void
11
  */
12
  public function hookInit() {
13
+ $this->saved = array();
14
+
15
+ add_filter('tiny_mce_before_init', array($this->model, 'setCallback'));
16
+ add_filter('mce_external_plugins', array($this->model, 'addHeadingButton'));
17
+ add_filter('mce_buttons', array($this->model, 'registerButton'));
18
 
19
  if (SQ_Tools::$options['sq_api'] == '')
20
  return;
21
 
22
+ add_action('save_post', array($this, 'hookSavePost'), 11);
23
 
24
  //For Shopp plugin - product
25
+ add_action('shopp_product_saved', array($this, 'hookShopp'), 11);
26
  }
27
 
28
  /**
64
  */
65
  public function hookSavePost($post_id) {
66
  $file_name = false;
67
+ if (!isset($this->saved[$post_id]))
68
+ $this->saved[$post_id] = false;
69
 
70
  // unhook this function so it doesn't loop infinitely
71
+ remove_action('save_post', array($this, 'hookSavePost'), 11);
 
72
  //If the post is a new or edited post
73
  if ((SQ_Tools::getValue('action')) == 'editpost' &&
 
74
  wp_is_post_autosave($post_id) == '' &&
75
  get_post_status($post_id) != 'auto-draft' &&
76
  get_post_status($post_id) != 'inherit' &&
77
  SQ_Tools::getValue('autosave') == '') {
 
 
 
 
 
 
78
 
79
+ if ($this->saved[$post_id] === false) {
80
+ //check for custom SEO
81
+ $this->_checkAdvMeta($post_id);
82
+ //check the SEO from Squirrly Live Assistant
83
+ $this->checkSeo($post_id, get_post_status($post_id));
84
+ //check the remote images
 
 
 
85
  $this->checkImage($post_id);
86
+ }
87
+ $this->saved[$post_id] = true;
88
  }
89
 
90
+
91
+ add_action('save_post', array($this, 'hookSavePost'), 11);
92
  }
93
 
94
  /**
98
  * @return false|void
99
  */
100
  public function checkImage($post_id) {
101
+ //if the option to save the images locally is set on
102
+ if (SQ_Tools::$options['sq_local_images'] == 1) {
103
+ @set_time_limit(90);
104
+ $local_file = false;
105
+
106
+ $content = stripslashes(SQ_Tools::getValue('post_content'));
107
+ $tmpcontent = trim($content, "\n");
108
+ $urls = array();
109
+
110
+ if (function_exists('preg_match_all')) {
111
+ @preg_match_all('/<img[^>]*src="([^"]+)"[^>]*>/i', $tmpcontent, $out);
112
+
113
+ if (is_array($out)) {
114
+ if (!is_array($out[1]) || count($out[1]) == 0)
115
+ return;
116
+
117
+ if (get_bloginfo('wpurl') <> '') {
118
+ $domain = parse_url(get_bloginfo('wpurl'));
119
+
120
+ foreach ($out[1] as $row) {
121
+ if (strpos($row, 'http') !== false &&
122
+ strpos($row, $domain['host']) === false) {
123
+ if (!in_array($row, $urls)) {
124
+ $urls[] = $row;
125
+ }
126
  }
127
  }
128
  }
129
  }
130
  }
 
 
 
 
131
 
132
+ if (!is_array($urls) || (is_array($urls) && count($urls) == 0))
133
+ return;
134
+
135
+ $urls = @array_unique($urls);
136
+ $time = microtime(true);
137
+ foreach ($urls as $url) {
138
+ if ($file = $this->model->upload_image($url)) {
139
+ if (!file_is_valid_image($file['file']))
140
+ continue;
141
+
142
+ $local_file = $file['url'];
143
+ if ($local_file !== false) {
144
+ $content = str_replace($url, $local_file, $content);
145
+
146
+ $attach_id = wp_insert_attachment(array(
147
+ 'post_mime_type' => $file['type'],
148
+ 'post_title' => SQ_Tools::getValue('sq_keyword', preg_replace('/\.[^.]+$/', '', $file['filename'])),
149
+ 'post_content' => urldecode(SQ_Tools::getValue('sq_fp_title', '')),
150
+ 'post_status' => 'inherit',
151
+ 'guid' => $local_file
152
+ ), $file['file'], $post_id);
153
+
154
+ $attach_data = wp_generate_attachment_metadata($attach_id, $file['file']);
155
+ wp_update_attachment_metadata($attach_id, $attach_data);
156
+ }
157
+ }
158
+ if (microtime(true) - $time >= 20) {
159
+ break;
160
  }
161
  }
 
162
 
163
 
164
+ if ($local_file !== false) {
165
+ wp_update_post(array(
166
+ 'ID' => $post_id,
167
+ 'post_content' => $content)
168
+ );
169
+ }
170
  }
171
  }
172
 
193
  $args['author'] = (int) SQ_Tools::getUserID();
194
  $args['post_id'] = $post_id;
195
 
196
+ SQ_Action::apiCall('sq/seo/post', $args, 5);
197
 
198
  //Save the keyword for this post
199
  if ($json = $this->model->getKeyword($post_id)) {
225
  switch (SQ_Tools::getValue('action')) {
226
  case 'sq_save_meta':
227
  $return = $this->_checkAdvMeta(SQ_Tools::getValue('post_id'));
228
+ SQ_Tools::setHeader('json');
229
+ echo json_encode($return);
230
+ SQ_Tools::emptyCache();
231
+ break;
232
+ case 'sq_save_ogimage':
233
+ if (!empty($_FILES['ogimage'])) {
234
+ $return = $this->model->addImage($_FILES['ogimage']);
235
+ }
236
+ $return['filename'] = basename($return['file']);
237
+ $local_file = str_replace($return['filename'], urlencode($return['filename']), $return['url']);
238
+ $attach_id = wp_insert_attachment(array(
239
+ 'post_mime_type' => $return['type'],
240
+ 'post_title' => preg_replace('/\.[^.]+$/', '', $return['filename']),
241
+ 'post_content' => '',
242
+ 'post_status' => 'inherit',
243
+ 'guid' => $local_file
244
+ ), $return['file'], SQ_Tools::getValue('post_id'));
245
+
246
+ $attach_data = wp_generate_attachment_metadata($attach_id, $return['file']);
247
+ wp_update_attachment_metadata($attach_id, $attach_data);
248
+
249
+ SQ_Tools::setHeader('json');
250
  echo json_encode($return);
251
+ SQ_Tools::emptyCache();
252
+ break;
253
+ case 'sq_get_keyword':
254
+ SQ_Tools::setHeader('json');
255
+ if (SQ_Tools::getIsset('post_id')) {
256
+ echo json_encode($this->model->getKeywordsFromPost(SQ_Tools::getValue('post_id')));
257
+ } else {
258
+ echo json_encode(array('error' => true));
259
+ }
260
+ SQ_Tools::emptyCache();
261
  break;
262
  }
263
  exit();
285
  $meta[] = array('key' => 'sq_fp_keywords',
286
  'value' => SQ_Tools::getValue('sq_fp_keywords'));
287
 
288
+ if (SQ_Tools::getIsset('sq_fp_ogimage'))
289
+ $meta[] = array('key' => 'sq_fp_ogimage',
290
+ 'value' => SQ_Tools::getValue('sq_fp_ogimage'));
291
+
292
  $this->model->saveAdvMeta($post_id, $meta);
293
  return $meta;
294
  }
controllers/SQ_PostsList.php CHANGED
@@ -23,7 +23,7 @@ class SQ_PostsList extends SQ_FrontController {
23
  'page_posts',
24
  'edit-product',
25
  'product_posts');
26
- // do_action('sq_processCron');
27
  }
28
 
29
  public function setPosts($posts) {
@@ -163,7 +163,6 @@ class SQ_PostsList extends SQ_FrontController {
163
  var __sq_article_rank = "' . __('SEO Analytics, by Squirrly', _SQ_PLUGIN_NAME_) . '";
164
  var __sq_refresh = "' . __('Update', _SQ_PLUGIN_NAME_) . '"
165
 
166
- var sq_analytics_code = "' . SQ_Tools::$options['sq_analytics_code'] . '";
167
  var __sq_dashurl = "' . _SQ_STATIC_API_URL_ . '";
168
  var __token = "' . SQ_Tools::$options['sq_api'] . '";
169
  var __sq_ranknotpublic_text = "' . __('Not Public', _SQ_PLUGIN_NAME_) . '";
@@ -241,7 +240,6 @@ class SQ_PostsList extends SQ_FrontController {
241
  */
242
  public function action() {
243
  parent::action();
244
-
245
  switch (SQ_Tools::getValue('action')) {
246
  case 'sq_posts_rank':
247
  $args = array();
@@ -250,7 +248,7 @@ class SQ_PostsList extends SQ_FrontController {
250
  $posts = SQ_Tools::getValue('posts');
251
  $args['posts'] = join(',', $posts);
252
 
253
- $response = json_decode(SQ_Action::apiCall('sq/user-analytics/total', $args));
254
  }
255
  if (isset($response) && is_object($response)) {
256
  $response = $this->model->getTotal($response);
@@ -258,29 +256,34 @@ class SQ_PostsList extends SQ_FrontController {
258
  exit(json_encode($response));
259
  }
260
  exit(json_encode(array('posts' => array())));
 
261
  case 'sq_post_rank':
262
  $args = array();
 
263
  $this->model->post_id = (int) SQ_Tools::getValue('post');
264
  $args['post_id'] = $this->model->post_id;
265
 
266
  if ($json = SQ_ObjController::getModel('SQ_Post')->getKeyword($this->model->post_id)) {
267
  if (isset($json->rank)) {
 
 
 
 
 
 
268
  $ranking = SQ_ObjController::getController('SQ_Ranking', false);
269
- $args['rank'] = (string) $json->rank;
270
  $args['country'] = $ranking->getCountry();
271
  $args['language'] = $ranking->getLanguage();
272
  }
273
  }
274
 
275
- $response = json_decode(SQ_Action::apiCall('sq/user-analytics/detail', $args));
276
 
277
  if (!is_object($response)) {
278
  exit(json_encode(array('error' => $response)));
279
  } else {
280
 
281
- //check and save the keyword serp
282
- $this->checkKeyword($response->keyword);
283
-
284
  $analytics = SQ_ObjController::getBlock('SQ_BlockAnalytics');
285
  $analytics->flush = false;
286
  $analytics->post_id = $this->model->post_id;
@@ -290,6 +293,39 @@ class SQ_PostsList extends SQ_FrontController {
290
  SQ_Tools::setHeader('json');
291
  exit(json_encode($response));
292
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
293
  }
294
  }
295
 
@@ -299,44 +335,47 @@ class SQ_PostsList extends SQ_FrontController {
299
  * @param type $keyword
300
  * @return type
301
  */
302
- private function checkKeyword($keyword) {
 
 
303
  if ($keyword == '')
304
  return;
305
 
306
  $ranking = SQ_ObjController::getController('SQ_Ranking', false);
307
  if (is_object($ranking)) {
308
-
309
  $rank = get_transient('sq_rank' . $this->model->post_id);
310
- //if the rank is not in transient
311
  if ($rank === false) {
312
- //get the keyword from database
313
  $json = SQ_ObjController::getModel('SQ_Post')->getKeyword($this->model->post_id);
314
- if (isset($json->rank)) {
315
  $rank = $json->rank;
316
- //add it to transient
317
  set_transient('sq_rank' . $this->model->post_id, $rank, (60 * 60 * 24 * 1));
318
  } else {
319
  $rank = $ranking->processRanking($this->model->post_id, $keyword);
320
 
321
  if ($rank == -1) {
322
- sleep(3);
323
- //if not indexed with the keyword then find the url
324
  if ($ranking->processRanking($this->model->post_id, get_permalink($this->model->post_id)) > 0) { //for permalink index set 0
325
  $rank = 0;
326
  }
327
  }
328
- $args = array();
329
- $args['keyword'] = $keyword;
330
- $args['rank'] = $rank;
331
- $args['country'] = $ranking->getCountry();
332
- $args['language'] = $ranking->getLanguage();
333
- SQ_ObjController::getModel('SQ_Post')->saveKeyword($this->model->post_id, json_decode(json_encode($args)));
334
- //add it to transient
 
 
335
  set_transient('sq_rank' . $this->model->post_id, $rank, (60 * 60 * 24 * 1));
336
  }
337
  }
338
 
339
- //save the rank if there is no error
340
  if ($rank !== false && $rank >= -1) {
341
  $args = array();
342
  $args['post_id'] = $this->model->post_id;
@@ -346,6 +385,7 @@ class SQ_PostsList extends SQ_FrontController {
346
  SQ_Action::apiCall('sq/user-analytics/saveserp', $args);
347
  }
348
  }
 
349
  }
350
 
351
  }
23
  'page_posts',
24
  'edit-product',
25
  'product_posts');
26
+ // do_action('sq_processCron');
27
  }
28
 
29
  public function setPosts($posts) {
163
  var __sq_article_rank = "' . __('SEO Analytics, by Squirrly', _SQ_PLUGIN_NAME_) . '";
164
  var __sq_refresh = "' . __('Update', _SQ_PLUGIN_NAME_) . '"
165
 
 
166
  var __sq_dashurl = "' . _SQ_STATIC_API_URL_ . '";
167
  var __token = "' . SQ_Tools::$options['sq_api'] . '";
168
  var __sq_ranknotpublic_text = "' . __('Not Public', _SQ_PLUGIN_NAME_) . '";
240
  */
241
  public function action() {
242
  parent::action();
 
243
  switch (SQ_Tools::getValue('action')) {
244
  case 'sq_posts_rank':
245
  $args = array();
248
  $posts = SQ_Tools::getValue('posts');
249
  $args['posts'] = join(',', $posts);
250
 
251
+ $response = json_decode(SQ_Action::apiCall('sq/user-analytics/total', $args, 30));
252
  }
253
  if (isset($response) && is_object($response)) {
254
  $response = $this->model->getTotal($response);
256
  exit(json_encode($response));
257
  }
258
  exit(json_encode(array('posts' => array())));
259
+ break;
260
  case 'sq_post_rank':
261
  $args = array();
262
+ $rank = null;
263
  $this->model->post_id = (int) SQ_Tools::getValue('post');
264
  $args['post_id'] = $this->model->post_id;
265
 
266
  if ($json = SQ_ObjController::getModel('SQ_Post')->getKeyword($this->model->post_id)) {
267
  if (isset($json->rank)) {
268
+ $rank = $json->rank;
269
+ } else {
270
+ $rank = get_transient('sq_rank' . $this->model->post_id);
271
+ }
272
+
273
+ if (isset($rank) && $rank !== false) {
274
  $ranking = SQ_ObjController::getController('SQ_Ranking', false);
275
+ $args['rank'] = (string) $rank;
276
  $args['country'] = $ranking->getCountry();
277
  $args['language'] = $ranking->getLanguage();
278
  }
279
  }
280
 
281
+ $response = json_decode(SQ_Action::apiCall('sq/user-analytics/detail', $args, 30));
282
 
283
  if (!is_object($response)) {
284
  exit(json_encode(array('error' => $response)));
285
  } else {
286
 
 
 
 
287
  $analytics = SQ_ObjController::getBlock('SQ_BlockAnalytics');
288
  $analytics->flush = false;
289
  $analytics->post_id = $this->model->post_id;
293
  SQ_Tools::setHeader('json');
294
  exit(json_encode($response));
295
  }
296
+ break;
297
+ case 'sq_recheck':
298
+ if (get_transient('google_blocked') === false) {
299
+ $this->model->post_id = (int) SQ_Tools::getValue('post_id');
300
+ if ($json = SQ_ObjController::getModel('SQ_Post')->getKeyword($this->model->post_id)) {
301
+ if (get_transient('sq_rank' . $this->model->post_id) !== false) {
302
+ delete_transient('sq_rank' . $this->model->post_id);
303
+ }
304
+
305
+ $this->checkKeyword($json->keyword, true);
306
+ $json = SQ_ObjController::getModel('SQ_Post')->getKeyword($this->model->post_id);
307
+ if ($json->rank === false) {
308
+ exit(json_encode(array('error' => true)));
309
+ } else {
310
+ if ($json->rank == -2) {
311
+ $value = __('Could not receive data from google (Err: blocked IP)');
312
+ } elseif ($json->rank == -1) {
313
+ $value = __('> 100');
314
+ } elseif ($json->rank == 0) {
315
+ $value = __('URL Indexed');
316
+ } elseif ($json->rank > 0) {
317
+ $value = '<strong style="display:block; font-size: 120%; width: 100px; margin: 0 auto; text-align:right;">' . sprintf(__('%s'), $json->rank) . '</strong>' . ((isset($json->country)) ? ' (' . $json->country . ')' : '');
318
+ }
319
+ exit(json_encode(array('rank' => $value)));
320
+ }
321
+ }
322
+
323
+ exit(json_encode(array('error' => true)));
324
+ } else {
325
+ $rank = __('Could not receive data from google (Err: blocked IP)');
326
+ exit(json_encode(array('rank' => $rank)));
327
+ }
328
+ break;
329
  }
330
  }
331
 
335
  * @param type $keyword
336
  * @return type
337
  */
338
+ private function checkKeyword($keyword, $force = false) {
339
+ $rank = null;
340
+
341
  if ($keyword == '')
342
  return;
343
 
344
  $ranking = SQ_ObjController::getController('SQ_Ranking', false);
345
  if (is_object($ranking)) {
 
346
  $rank = get_transient('sq_rank' . $this->model->post_id);
347
+ //if the rank is not in transient
348
  if ($rank === false) {
349
+ //get the keyword from database
350
  $json = SQ_ObjController::getModel('SQ_Post')->getKeyword($this->model->post_id);
351
+ if ($force === false && isset($json->rank)) {
352
  $rank = $json->rank;
353
+ //add it to transient
354
  set_transient('sq_rank' . $this->model->post_id, $rank, (60 * 60 * 24 * 1));
355
  } else {
356
  $rank = $ranking->processRanking($this->model->post_id, $keyword);
357
 
358
  if ($rank == -1) {
359
+ sleep(mt_rand(5, 10));
360
+ //if not indexed with the keyword then find the url
361
  if ($ranking->processRanking($this->model->post_id, get_permalink($this->model->post_id)) > 0) { //for permalink index set 0
362
  $rank = 0;
363
  }
364
  }
365
+ if ($rank !== false && $rank >= -1) {
366
+ $args = array();
367
+ $args['keyword'] = $keyword;
368
+ $args['rank'] = $rank;
369
+ $args['country'] = $ranking->getCountry();
370
+ $args['language'] = $ranking->getLanguage();
371
+ SQ_ObjController::getModel('SQ_Post')->saveKeyword($this->model->post_id, json_decode(json_encode($args)));
372
+ }
373
+ //add it to transient
374
  set_transient('sq_rank' . $this->model->post_id, $rank, (60 * 60 * 24 * 1));
375
  }
376
  }
377
 
378
+ //save the rank if there is no error
379
  if ($rank !== false && $rank >= -1) {
380
  $args = array();
381
  $args['post_id'] = $this->model->post_id;
385
  SQ_Action::apiCall('sq/user-analytics/saveserp', $args);
386
  }
387
  }
388
+ return $rank;
389
  }
390
 
391
  }
core/SQ_BlockPostsAnalytics/SQ_BlockPostsAnalytics.php CHANGED
@@ -7,6 +7,7 @@ class SQ_BlockPostsAnalytics extends SQ_BlockController {
7
  ->loadMedia(_SQ_THEME_URL_ . '/css/sq_postslist.css');
8
 
9
  SQ_Tools::saveOptions('sq_analytics', 1); //Save analytics viewed
 
10
  $this->postlist = SQ_ObjController::getController('SQ_PostsList');
11
 
12
  $this->model->prepare_items();
7
  ->loadMedia(_SQ_THEME_URL_ . '/css/sq_postslist.css');
8
 
9
  SQ_Tools::saveOptions('sq_analytics', 1); //Save analytics viewed
10
+ SQ_Tools::saveOptions('sq_dashboard', 1); //Save dashboard viewed
11
  $this->postlist = SQ_ObjController::getController('SQ_PostsList');
12
 
13
  $this->model->prepare_items();
core/SQ_Blocklogin/SQ_Blocklogin.php CHANGED
@@ -83,7 +83,7 @@ class SQ_Blocklogin extends SQ_BlockController {
83
  }
84
  } else {
85
  //if unknown error
86
- $return->error = __('An error occured. Mabe a network error :(', _SQ_PLUGIN_NAME_);
87
  }
88
  } else
89
  $return->error = sprintf(__('Could not send your informations to squirrly. Please register %smanually%s.', _SQ_PLUGIN_NAME_), '<a href="' . _SQ_DASH_URL_ . 'login/?action=register" target="_blank">', '</a>');
83
  }
84
  } else {
85
  //if unknown error
86
+ $return->error = sprintf(__('Error: Couldn\'t connect to host :( . Please contact your site\'s webhost (or webmaster) and request them to add http://api.squirrly.co/ to their IP whitelist.', _SQ_PLUGIN_NAME_), _SQ_API_URL_);
87
  }
88
  } else
89
  $return->error = sprintf(__('Could not send your informations to squirrly. Please register %smanually%s.', _SQ_PLUGIN_NAME_), '<a href="' . _SQ_DASH_URL_ . 'login/?action=register" target="_blank">', '</a>');
core/SQ_Loading/SQ_Loading.php CHANGED
@@ -23,12 +23,12 @@ class SQ_Loading extends SQ_BlockController {
23
  jQuery("#sq_blocklogin").hide();
24
  </script>';
25
  } else {
 
26
  echo '<script type="text/javascript">
27
- var sq_use = "' . SQ_Tools::$options['sq_use'] . '"; var sq_beginner_user = "0"; var sq_baseurl = "' . _SQ_STATIC_API_URL_ . '"; var sq_uri = "' . SQ_URI . '"; var sq_language = "' . get_bloginfo('language') . '"; var sq_version = "' . SQ_VERSION_ID . '"; var sq_wpversion = "' . WP_VERSION_ID . '"; var sq_phpversion = "' . PHP_VERSION_ID . '"; var sq_seoversion = "' . (SQ_Tools::$options['sq_sla'] + 1) . '"; var __postID = "' . $sq_postID . '"; var __token = "' . SQ_Tools::$options['sq_api'] . '";
28
  var sq_keyword_information = "' . ((isset(SQ_Tools::$options['sq_keyword_information'])) ? SQ_Tools::$options['sq_keyword_information'] : '0') . '"; var __noopt = "' . __('You haven`t used Squirrly SEO to optimize your article. Do you want to optimize for a keyword before publishing?', _SQ_PLUGIN_NAME_) . '";
29
  var sq_frontend_css = "' . _SQ_THEME_URL_ . 'css/sq_frontend.css";
30
- var sq_analytics_code = "' . SQ_Tools::$options['sq_analytics_code'] . '";
31
-
32
  if (typeof sq_script === "undefined"){
33
  var sq_script = document.createElement(\'script\');
34
  sq_script.src = "' . _SQ_STATIC_API_URL_ . SQ_URI . '/js/squirrly.js?ver=' . SQ_VERSION_ID . '";
23
  jQuery("#sq_blocklogin").hide();
24
  </script>';
25
  } else {
26
+ $keyword = SQ_ObjController::getModel('SQ_Post')->getKeywordsFromPost($sq_postID);
27
  echo '<script type="text/javascript">
28
+ var sq_use = "' . SQ_Tools::$options['sq_use'] . '"; var sq_beginner_user = "0"; var sq_baseurl = "' . _SQ_STATIC_API_URL_ . '"; var sq_uri = "' . SQ_URI . '"; var sq_language = "' . get_bloginfo('language') . '"; var sq_version = "' . SQ_VERSION_ID . '"; var sq_wpversion = "' . WP_VERSION_ID . '"; var sq_phpversion = "' . PHP_VERSION_ID . '"; var sq_seoversion = "' . (SQ_Tools::$options['sq_sla'] + 1) . '"; var __postID = "' . $sq_postID . '"; var __prevNonce = "' . wp_create_nonce('post_preview_' . $sq_postID) . '"; var __token = "' . SQ_Tools::$options['sq_api'] . '";
29
  var sq_keyword_information = "' . ((isset(SQ_Tools::$options['sq_keyword_information'])) ? SQ_Tools::$options['sq_keyword_information'] : '0') . '"; var __noopt = "' . __('You haven`t used Squirrly SEO to optimize your article. Do you want to optimize for a keyword before publishing?', _SQ_PLUGIN_NAME_) . '";
30
  var sq_frontend_css = "' . _SQ_THEME_URL_ . 'css/sq_frontend.css";
31
+ ' . (($keyword <> '') ? 'var sq_keyword_from_post = "' . $keyword . '";' : '') . '
 
32
  if (typeof sq_script === "undefined"){
33
  var sq_script = document.createElement(\'script\');
34
  sq_script.src = "' . _SQ_STATIC_API_URL_ . SQ_URI . '/js/squirrly.js?ver=' . SQ_VERSION_ID . '";
core/config.xml CHANGED
@@ -5,6 +5,8 @@
5
  <description>Post Page</description>
6
  <actions>
7
  <action>sq_save_meta</action>
 
 
8
  </actions>
9
  <active>1</active>
10
  <path>controllers</path>
@@ -15,6 +17,7 @@
15
  <actions>
16
  <action>sq_posts_rank</action>
17
  <action>sq_post_rank</action>
 
18
  </actions>
19
  <active>1</active>
20
  <path>controllers</path>
5
  <description>Post Page</description>
6
  <actions>
7
  <action>sq_save_meta</action>
8
+ <action>sq_save_ogimage</action>
9
+ <action>sq_get_keyword</action>
10
  </actions>
11
  <active>1</active>
12
  <path>controllers</path>
17
  <actions>
18
  <action>sq_posts_rank</action>
19
  <action>sq_post_rank</action>
20
+ <action>sq_recheck</action>
21
  </actions>
22
  <active>1</active>
23
  <path>controllers</path>
languages/squirrly-seo-ro_RO.mo CHANGED
Binary file
languages/squirrly-seo-ro_RO.po CHANGED
@@ -1,25 +1,22 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: squirrly_seo\n"
4
- "POT-Creation-Date: 2013-06-27 13:43+0200\n"
5
- "PO-Revision-Date: 2013-06-27 13:58+0200\n"
6
  "Last-Translator: Squirrly <contact@squirrly.co>\n"
7
- "Language-Team: Squirrly UK <contact@squirrly.co>\n"
 
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "X-Generator: Poedit 1.5.5\n"
12
  "X-Poedit-KeywordsList: __;_e\n"
13
- "X-Poedit-Basepath: d:\\pagini_net\\se_lucreaza\\squirrly\\wordpress\\wp-"
14
- "content\\plugins\\squirrly-seo\n"
 
15
  "X-Poedit-SearchPath-0: .\n"
16
 
17
- #: squirrly.php:45
18
- msgid ""
19
- "For Squirrly to work, the PHP version has to be equal or greater then 5.1"
20
- msgstr "Versiunea PHP trebuie sa fie mai mare de 5.1"
21
-
22
- #: classes/SQ_Error.php:20
23
  msgid ""
24
  "Function get_class does not exists! Is required for Squirrly to work "
25
  "properly."
@@ -27,7 +24,7 @@ msgstr ""
27
  "Functia get_class nu exista! E necesara pentru a functiona corect pluginul "
28
  "Squirrly"
29
 
30
- #: classes/SQ_Error.php:23
31
  msgid ""
32
  "Function file_exists does not exists! Is required for Squirrly to work "
33
  "properly."
@@ -35,47 +32,71 @@ msgstr ""
35
  "Functia file_exists nu exista! E necesara pentru a functiona corect pluginul "
36
  "Squirrly"
37
 
38
- #: classes/SQ_Error.php:27
39
  msgid "The home directory is not set!"
40
  msgstr "Directorul home nu este setat!"
41
 
42
- #: classes/SQ_Error.php:31
43
  msgid "The PHP version has to be greater then 4.0"
44
  msgstr "Versiunea PHP trebuie sa fie mai mare de 4.0"
45
 
46
- #: classes/SQ_Error.php:69
47
  msgid "Turn off warnings!"
48
  msgstr "Opreste avertizarile"
49
 
50
- #: classes/SQ_Error.php:70
51
  msgid "Notice: "
52
  msgstr "Atentie:"
53
 
54
- #: classes/SQ_Error.php:74
55
  msgid "Note: "
56
  msgstr "Atentie:"
57
 
58
- #: classes/SQ_Tools.php:82 controllers/SQ_Menu.php:52
59
- msgid "Settings"
60
- msgstr "Setari"
61
-
62
- #: classes/SQ_Tools.php:85 controllers/SQ_Menu.php:35
63
  msgid "Getting started"
64
  msgstr "Ajutor"
65
 
66
- #: classes/SQ_Tools.php:394
 
 
 
 
67
  msgid "Fix it for me!"
68
  msgstr "Repara-l"
69
 
70
- #: classes/SQ_Tools.php:400
71
  msgid "Let Squirrly optimize your SEO automatically (recommended)"
72
  msgstr "Lasa Squirrly sa optimizeze SEO automat (recomandat)"
73
 
74
- #: classes/SQ_Tools.php:408
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  msgid "You're blocking google from indexing your site!"
76
  msgstr "Blochezi accesul la google spre indexarea site-ului"
77
 
78
- #: classes/SQ_Tools.php:414
79
  msgid ""
80
  "It is highly recommended that you include the %postname% variable in the "
81
  "permalink structure. <br />Go to Settings > Permalinks and add /%postname%/ "
@@ -85,121 +106,139 @@ msgstr ""
85
  ">Mergi la Setari > Legaturi permanente si adauga /%postname%/ in campul "
86
  "Structură personalizată"
87
 
88
- #: controllers/SQ_Menu.php:34
 
 
 
 
 
 
89
  msgid " getting started"
90
  msgstr "ajutor"
91
 
92
- #: controllers/SQ_Menu.php:43
93
  msgid " dashboard"
94
  msgstr "dashboard"
95
 
96
- #: controllers/SQ_Menu.php:44
97
- msgid "Dashboard"
98
- msgstr "Dashboard"
 
 
 
 
 
 
 
 
 
 
 
 
 
99
 
100
- #: controllers/SQ_Menu.php:51
101
  msgid " settings"
102
  msgstr "setari"
103
 
104
- #: controllers/SQ_Menu.php:58
 
 
 
 
 
105
  msgid "Make money with "
106
  msgstr "Castiga bani cu"
107
 
108
- #: controllers/SQ_Menu.php:59
109
  msgid "Make money"
110
  msgstr "Castiga Bani"
111
 
112
- #: controllers/SQ_Menu.php:78
113
- msgid "Squirrly Article Rank"
114
- msgstr "Squirrly article rank"
115
-
116
- #: controllers/SQ_PostsList.php:97
117
  msgid "Squirrly"
118
  msgstr "Squirrly"
119
 
120
- #: controllers/SQ_PostsList.php:134
121
  msgid "Custom description: "
122
  msgstr "Descrierea:"
123
 
124
- #: controllers/SQ_PostsList.php:134
125
  msgid "Custom title: "
126
  msgstr "Titlul"
127
 
128
- #: controllers/SQ_PostsList.php:157
129
- msgid "Squirrly article rank"
130
- msgstr "Squirrly article rank"
131
 
132
- #: controllers/SQ_PostsList.php:158 core/SQ_Blockseo/SQ_Blockseo.php:21
133
  msgid "Update"
134
  msgstr "Update"
135
 
136
- #: controllers/SQ_PostsList.php:159
137
- msgid "More details"
138
- msgstr "Mai mult"
139
-
140
- #: controllers/SQ_PostsList.php:160
141
- msgid "Less details"
142
- msgstr "Mai putin"
143
-
144
- #: controllers/SQ_PostsList.php:161
145
- msgid "Interval: "
146
- msgstr "Interval:"
147
-
148
- #: controllers/SQ_PostsList.php:162 models/SQ_PostsList.php:30
149
- msgid "Latest"
150
- msgstr "Ultima"
151
-
152
- #: controllers/SQ_PostsList.php:163 models/SQ_PostsList.php:31
153
- msgid "Last 7 days"
154
- msgstr "Ultimele 7 zile"
155
-
156
- #: controllers/SQ_PostsList.php:164 models/SQ_PostsList.php:32
157
- msgid "Last 30 days"
158
- msgstr "Ultimele 30 zile"
159
-
160
- #: controllers/SQ_PostsList.php:166 core/SQ_Blockrank/SQ_Blockrank.php:19
161
- msgid "See it in 'All Posts'"
162
- msgstr "Arata-l in 'Lista Articole'"
163
-
164
- #: controllers/SQ_PostsList.php:167
165
- msgid "progress"
166
- msgstr "progres"
167
-
168
  #: controllers/SQ_PostsList.php:168
169
- msgid "optimized"
170
- msgstr "optimizat"
171
 
172
  #: controllers/SQ_PostsList.php:169
173
- msgid "See rank"
174
- msgstr "Vezi rang"
175
 
176
- #: controllers/SQ_PostsList.php:170
177
- msgid "Hide rank"
178
- msgstr "Ascunde Rang"
 
179
 
180
- #: controllers/SQ_PostsList.php:171
181
- msgid "Optimize"
182
- msgstr "Optimizare"
183
 
184
- #: controllers/SQ_PostsList.php:173
185
- msgid "Not Public"
186
- msgstr "Ciorna"
 
187
 
188
- #: controllers/SQ_PostsList.php:259 core/SQ_Blockrank/SQ_Blockrank.php:31
189
- msgid "Publish the article to start Squirrly Article Rank"
190
- msgstr "Publica articolul pentru a pornit Squirrly Rank"
 
191
 
192
- #: core/SQ_BlockAffiliate/SQ_BlockAffiliate.php:33
193
  #, php-format
194
  msgid "Error: %s"
195
  msgstr "Eroare: %s"
196
 
197
- #: core/SQ_BlockAffiliate/SQ_BlockAffiliate.php:36
198
- #: core/SQ_Blocklogin/SQ_Blocklogin.php:85
199
  msgid "An error occured. Mabe a network error :("
200
  msgstr "A aparut o eroare. Probabil o eroare de retea :("
201
 
202
- #: core/SQ_Blocklogin/SQ_Blocklogin.php:80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  #, php-format
204
  msgid ""
205
  "We found your email, so it means you already have a Squirrly.co account. "
@@ -210,7 +249,7 @@ msgstr ""
210
  "Conecteaza-te cu contul tau de Squirrly. Daca ai uitat parola atunci apasa "
211
  "%saici%s"
212
 
213
- #: core/SQ_Blocklogin/SQ_Blocklogin.php:88
214
  #, php-format
215
  msgid ""
216
  "Could not send your informations to squirrly. Please register %smanually%s."
@@ -233,166 +272,145 @@ msgstr "A aparut o eroare."
233
  msgid "Both fields are required."
234
  msgstr "Ambele campuri sunt obligatorii!"
235
 
236
- #: core/SQ_Blockresearch/SQ_Blockresearch.php:12
237
  msgid "Recent discussions:"
238
  msgstr "Discutii recente:"
239
 
240
- #: core/SQ_Blockresearch/SQ_Blockresearch.php:12
241
  msgid "Exact search:"
242
  msgstr "Cautari exacte:"
243
 
244
- #: core/SQ_Blockresearch/SQ_Blockresearch.php:12
245
  msgid "Competition:"
246
  msgstr "Competitia:"
247
 
248
- #: core/SQ_Blockresearch/SQ_Blockresearch.php:12
249
  msgid "Trend:"
250
  msgstr "Trend:"
251
 
252
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
253
  msgid "date"
254
  msgstr "data"
255
 
256
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
257
  msgid "Read it!"
258
  msgstr "Citeste!"
259
 
260
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
261
  msgid "Insert it!"
262
  msgstr "Adauga!"
263
 
264
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
265
  msgid "Reference"
266
  msgstr "Referinta"
267
 
268
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
269
  msgid "Insert as box"
270
  msgstr "Adauga"
271
 
272
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
273
  msgid "Not relevant?"
274
  msgstr "Nu e ce doresti?"
275
 
276
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
277
  msgid "Insert in your article"
278
  msgstr "Adauga paragraf in articol"
279
 
280
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
281
  msgid "For Squirrly to work, you have to have tinymce editor installed!"
282
  msgstr ""
283
  "Pentru ca Squirrly sa functioneze, trebuie sa ai editorul TinyMCE instalat"
284
 
285
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
286
  msgid ":( I lost my squirrel. Please reload the page."
287
  msgstr ":( Am pierdut veverita. Te rog sa dai refresh la pagina."
288
 
289
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
290
  msgid "No results found!"
291
  msgstr "Nu s-a gasit nimic ..."
292
 
293
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
294
  msgid "Switch to Visual editor!"
295
  msgstr "Schimba in Editor Vizual!"
296
 
297
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
298
  msgid "Use more words in one keyword"
299
  msgstr "Am mai multe cuvinte"
300
 
301
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
302
  msgid "Takes too long to check this keyword ..."
303
  msgstr "Ia prea mult timp sa verifice cuvantul ..."
304
 
305
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
306
  msgid "Do a research!"
307
  msgstr "Mai multe detalii!"
308
 
309
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
310
  msgid "Do more research!"
311
  msgstr "Mai multe detalii!"
312
 
313
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
314
  #, php-format
315
  msgid "[ ATTRIBUTE: Please check: %s to find out how to attribute this image ]"
316
  msgstr ""
317
  "[ ATTRIBUTE: Verificati: %s pentru a vedea conditile de atribuire a "
318
  "imaginii ]"
319
 
320
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
321
  msgid "Has creative commons attributes"
322
  msgstr "Are conditii de atribuire"
323
 
324
- #: core/SQ_Blocksearch/SQ_Blocksearch.php:51
325
  msgid "No known copyright restrictions"
326
  msgstr "Nu sunt restrictii de copyright cunoscute"
327
 
328
- #: core/SQ_Blockseo/SQ_Blockseo.php:11
329
  msgid "Save changes"
330
  msgstr "Salveaza"
331
 
332
- #: core/SQ_Blockseo/SQ_Blockseo.php:12
333
  msgid "Cancel"
334
  msgstr "Renunta"
335
 
336
- #: core/SQ_Blockseo/SQ_Blockseo.php:13
337
  msgid "Reset"
338
  msgstr "Resetare"
339
 
340
- #: core/SQ_Blockseo/SQ_Blockseo.php:15
341
- msgid "Customize Title"
 
342
  msgstr "Modificare META"
343
 
344
- #: core/SQ_Blockseo/SQ_Blockseo.php:16
345
  msgid "manage keywords"
346
  msgstr "administrare cuvinte cheie"
347
 
348
- #: core/SQ_Blockseo/SQ_Blockseo.php:17 themes/default/SQ_Menu.php:327
349
  msgid "Too short"
350
  msgstr "Prea scurt"
351
 
352
- #: core/SQ_Blockseo/SQ_Blockseo.php:18 themes/default/SQ_Menu.php:328
353
  msgid "Too long"
354
  msgstr "Prea lung"
355
 
356
- #: core/SQ_Blockseo/SQ_Blockseo.php:20 themes/default/SQ_Menu.php:214
357
  msgid "Squirrly Snippet"
358
  msgstr "Snipet Squirrly"
359
 
360
- #: core/SQ_Blockseo/SQ_Blockseo.php:22
 
 
 
 
361
  msgid ""
362
  "Click the Update button (to the right) to see the snippet from your website."
363
  msgstr "Click pe butonul Update pentru a vedea snipetul site-ului"
364
 
365
- #: core/SQ_Blockseo/SQ_Blockseo.php:23
366
  msgid "Enter a title above for the snippet to get data."
367
  msgstr "Adauga un titlu pentru a putea vedea datele in snipet"
368
 
369
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:21
370
- msgid "Plugin Feedback"
371
- msgstr "Feedback Squirrly"
372
-
373
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:57
374
- msgid "Thank you for your feedback"
375
- msgstr "Multumesc pentru feedback"
376
-
377
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:59
378
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:94
379
- msgid "Could not send the email..."
380
- msgstr "Nu s-a putut trimite email ..."
381
-
382
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:62
383
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:97
384
- msgid "No message."
385
- msgstr "Nici un mesaj."
386
-
387
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:81
388
- msgid "Plugin Support"
389
- msgstr "Suport la plugin"
390
-
391
- #: core/SQ_BlockSupport/SQ_BlockSupport.php:92
392
- msgid "Message sent..."
393
- msgstr "Mesajul a fost trimis..."
394
-
395
- #: core/SQ_Loading/SQ_Loading.php:23
396
  msgid ""
397
  "For Squirrly to work properly you have to use a higher version of Internet "
398
  "Explorer. <br /> We recommend you to use Chrome or Mozilla."
@@ -400,7 +418,7 @@ msgstr ""
400
  "Pentru a functiona Squirrly, trebui sa folosesti o versiune mai noua de "
401
  "Internet explorer. <br /> Recomandam sa folosesti Chrome sau Mozilla."
402
 
403
- #: core/SQ_Loading/SQ_Loading.php:30
404
  msgid ""
405
  "You haven`t used Squirrly SEO to optimize your article. Do you want to "
406
  "optimize for a keyword before publishing?"
@@ -408,208 +426,390 @@ msgstr ""
408
  "Nu ai folosit Squirrly SEO pentru a optimiza articolul. Vrei sa il "
409
  "optimizezi inainte de publicare?"
410
 
411
- #: models/SQ_Menu.php:139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
412
  msgid "The code for Google Webmaster Tool is incorrect."
413
  msgstr "Codul google pentru Webmaster Tool este gresit."
414
 
415
- #: models/SQ_Menu.php:166
416
  msgid "The code for Google Analytics is incorrect."
417
  msgstr "Codul Google Analytics este incorect."
418
 
419
- #: models/SQ_Menu.php:194
420
  msgid "The code for Facebook is incorrect."
421
  msgstr "Codul Facbook este gresit."
422
 
423
- #: models/SQ_Menu.php:219
 
 
 
 
 
424
  msgid "The code for Bing is incorrect."
425
  msgstr "Codul Bing este gresit."
426
 
427
- #: models/SQ_Menu.php:252
428
- msgid "File type error: Only JPEG, JPG, GIF or PNG files are allowed."
 
429
  msgstr "Eroare fisier: Doar fisierele JPEG,JPG,GIF sau PNG sunt permise"
430
 
431
- #: models/SQ_Menu.php:265
432
  msgid "GD error: The GD library must be installed on your server."
433
  msgstr ""
434
  "Eroare librarie GD: Trebuie sa instalezi libraria GD pe server pentru a "
435
  "putea adauga imaginea"
436
 
437
- #: models/SQ_Menu.php:272
438
  msgid "Delete error: Could not delete the old favicon."
439
  msgstr "Eroare Stergere: Nu se poate sterge icoana veche"
440
 
441
- #: models/SQ_Menu.php:279
442
  msgid "Upload error: Could not upload the favicon."
443
  msgstr "Eroare Upload: Nu se poate urca pe server imaginea"
444
 
445
- #: models/SQ_Menu.php:285
446
  msgid "Permission error: Could not change the favicon permissions."
447
  msgstr "Eroare Fisier: Nu se poate schimba permisiunea fisierului"
448
 
449
- #: models/SQ_Menu.php:311
450
  msgid ""
451
  "ICO Error: Could not create the ICO from file. Try with another file type."
452
  msgstr "Eroare ICO: Nu se poate transforma imaginea in fisier ICO"
453
 
454
- #: models/SQ_Menu.php:314
455
  msgid "The favicon has been updated."
456
  msgstr "Icoana a fost adaugata pe server"
457
 
458
- #: models/SQ_Post.php:71
459
  msgid "Squirrly could not find any results for: "
460
  msgstr "Squirrly nu a putut gasi rezultate pentru: "
461
 
462
- #: models/SQ_PostsList.php:29
463
- msgid "This article"
464
- msgstr "Acest articol"
465
 
466
- #: models/SQ_PostsList.php:29
467
- msgid "All your articles"
468
- msgstr "Articolele mele"
 
 
469
 
470
- #: models/SQ_PostsList.php:69
471
- msgid "Optimize this article to start Squirrly Article Rank"
472
- msgstr "Optimizeaza articolul pentru a pornit Squirrly Rank"
473
 
474
- #: models/SQ_PostsList.php:111
475
- msgid "There are no information for this post yet."
476
- msgstr "Nu sunt suficiente informatii pentru acest post"
477
 
478
- #: models/SQ_PostsList.php:129 models/SQ_PostsList.php:247
479
- msgid "Traffic to article"
480
- msgstr "Trafic la articol"
481
 
482
- #: models/SQ_PostsList.php:130
483
- msgid "Social impact"
484
- msgstr "Impact Social Media"
485
 
486
- #: models/SQ_PostsList.php:131
487
- msgid "Links to article"
488
- msgstr "Link-uri spre articol"
489
 
490
- #: models/SQ_PostsList.php:193
491
- msgid "Google Indexed"
492
- msgstr "Indexare Google"
493
 
494
- #: models/SQ_PostsList.php:198
495
- msgid "pos"
496
- msgstr "pos"
497
-
498
- #: models/SQ_PostsList.php:198 themes/default/SQ_Menu.php:21
499
- #: themes/default/SQ_Menu.php:40 themes/default/SQ_Menu.php:57
500
- #: themes/default/SQ_Menu.php:74 themes/default/SQ_Menu.php:91
501
- #: themes/default/SQ_Menu.php:108 themes/default/SQ_Menu.php:125
502
- #: themes/default/SQ_Menu.php:152 themes/default/SQ_Menu.php:169
503
- #: themes/default/SQ_Menu.php:237 themes/default/SQ_Menu.php:248
504
- #: themes/default/SQ_Menu.php:259
505
- msgid "Yes"
506
- msgstr "Da"
507
 
508
- #: models/SQ_PostsList.php:198 themes/default/SQ_Menu.php:23
509
- #: themes/default/SQ_Menu.php:42 themes/default/SQ_Menu.php:59
510
- #: themes/default/SQ_Menu.php:76 themes/default/SQ_Menu.php:93
511
- #: themes/default/SQ_Menu.php:110 themes/default/SQ_Menu.php:127
512
- #: themes/default/SQ_Menu.php:154 themes/default/SQ_Menu.php:171
513
- #: themes/default/SQ_Menu.php:239 themes/default/SQ_Menu.php:250
514
- #: themes/default/SQ_Menu.php:261
515
- msgid "No"
516
- msgstr "Nu"
517
 
518
- #: models/SQ_PostsList.php:198
519
- msgid "for:"
520
- msgstr "pentru:"
521
 
522
- #: models/SQ_PostsList.php:198
523
- msgid "(searched with the url)"
524
- msgstr "(cautat cu url)"
525
 
526
- #: models/SQ_PostsList.php:218
527
- msgid "This article|Average"
528
- msgstr "Acest articole|Media"
 
529
 
530
- #: models/SQ_PostsList.php:254
531
  msgid "Visits"
532
  msgstr "Vizite"
533
 
534
- #: models/SQ_PostsList.php:257
535
- msgid "Unique"
536
- msgstr "Unici"
 
 
 
 
537
 
538
- #: models/SQ_PostsList.php:369
539
- msgid "Google result for: "
540
- msgstr "Rezultate Google pentru:"
541
 
542
- #: models/SQ_PostsList.php:402
543
- msgid "Change"
544
- msgstr "Modifica"
545
 
546
- #: models/SQ_PostsList.php:402
547
- msgid "since"
548
- msgstr "de"
549
 
550
- #: models/SQ_PostsList.php:403 models/SQ_PostsList.php:478
551
- msgid "Current position"
552
- msgstr "Pozitia curenta"
553
 
554
- #: models/SQ_PostsList.php:437
555
- msgid "Recommended by Squirrly"
556
- msgstr "Recomandat de Squirrly"
 
557
 
558
- #: models/SQ_PostsList.php:477
559
- msgid "Keyword"
560
- msgstr "Cuvant cheie:"
561
 
562
- #: themes/default/SQ_BlockAffiliate.php:4
563
- #: themes/default/SQ_BlockAffiliate.php:14
564
- msgid "Join Squirrly today!"
565
- msgstr "Alatura-te lui Squirrly!"
 
 
 
 
 
 
 
 
 
566
 
567
- #: themes/default/SQ_BlockAffiliate.php:21
568
  msgid ""
569
- "To redirect users to your site, just change \"squirrly.co\" with your domain."
 
570
  msgstr ""
571
- "Pentru a redirecta userii spre site-ul tau, schimba doar \"squirrly.co\" cu "
572
- "domeniul tau"
573
 
574
- #: themes/default/SQ_BlockAffiliate.php:23
575
- msgid "Generate affiliate link"
576
- msgstr "Generare link de afiliat"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
577
 
578
- #: themes/default/SQ_BlockAffiliate.php:28
 
 
 
 
 
579
  msgid "Affiliate Benefits"
580
  msgstr "Beneficii afiliere"
581
 
582
- #: themes/default/SQ_BlockAffiliate.php:33
583
  #, php-format
584
  msgid "- Recurring 45%s commission"
585
  msgstr "- Comision 45%s din abonament"
586
 
587
- #: themes/default/SQ_BlockAffiliate.php:38
588
  msgid "- No cost"
589
  msgstr "- Fara costuri"
590
 
591
- #: themes/default/SQ_BlockAffiliate.php:43
592
  msgid "- Monthly payments in your Paypal account"
593
  msgstr "- Platy lunare in contul tau de Paypal"
594
 
595
- #: themes/default/SQ_BlockAffiliate.php:50
 
 
 
 
 
 
 
 
 
 
 
596
  msgid ""
597
  "Your affiliate account is set and ready to go. Above you have the affiliate "
598
  "link. "
599
  msgstr ""
600
  "Linkul tau de afiliere e gata. Mai sus aveti link-ul care il puteti folosi"
601
 
602
- #: themes/default/SQ_BlockAffiliate.php:52
603
  #, php-format
604
  msgid "Check your affiliate page: %sAffiliate page%s"
605
  msgstr "Verifica pagina ta de afiliat: %sAffiliate page%s"
606
 
607
- #: themes/default/SQ_BlockAffiliate.php:54
608
  #, php-format
609
  msgid "%sTerms of Use for our Affiliate Program%s"
610
  msgstr "%sTermeni si conditii de afiliere%s"
611
 
612
- #: themes/default/SQ_BlockAffiliate.php:58
613
  msgid ""
614
  "After you connect to Squirrly you can begin to use your free Squirrly "
615
  "affiliate link immediately!"
@@ -617,147 +817,233 @@ msgstr ""
617
  "Dupa ce te conectezi la Squirrly vei putea incepe sa folosesti link-ul tau "
618
  "de afiliat"
619
 
620
- #: themes/default/SQ_BlockAffiliate.php:66
621
  msgid "Squirrly banners you can use"
622
  msgstr "Bannere Squirrly"
623
 
624
- #: themes/default/SQ_BlockAffiliate.php:87 themes/default/SQ_BlockHelp.php:20
625
- #: themes/default/SQ_Menu.php:4
626
- msgid "See Squirrly in action"
627
- msgstr "Vezi Squirrly in actiune"
628
 
629
- #: themes/default/SQ_BlockAffiliate.php:88 themes/default/SQ_BlockHelp.php:21
630
  msgid "See dashboard"
631
  msgstr "Vezi Dashboard"
632
 
633
- #: themes/default/SQ_BlockAffiliate.php:89
634
- #: themes/default/SQ_BlockDashboard.php:54 themes/default/SQ_BlockHelp.php:22
635
- msgid "Go to settings"
636
- msgstr "Mergi la setari"
637
-
638
- #: themes/default/SQ_BlockDashboard.php:5
639
- msgid "Squirrly dashboard"
640
- msgstr "Dashboard Squirrly"
641
 
642
- #: themes/default/SQ_BlockDashboard.php:8
643
- msgid "User level"
644
- msgstr "Nivel Utilizator"
645
 
646
- #: themes/default/SQ_BlockDashboard.php:12
647
- msgid "Beginner"
648
- msgstr "Incepator"
649
 
650
- #: themes/default/SQ_BlockDashboard.php:14
651
- msgid "Advanced"
652
- msgstr "Avansat"
653
 
654
- #: themes/default/SQ_BlockDashboard.php:18
655
- msgid "Select Advanced only if you have SEO knowledge."
656
- msgstr "Alege Avansat doar daca ai cunostinte SEO"
 
657
 
658
- #: themes/default/SQ_BlockDashboard.php:21
659
- msgid "What does the Beginner option bring you:"
660
- msgstr "Ce iti aduce modul Incepator:"
 
661
 
662
- #: themes/default/SQ_BlockDashboard.php:23
663
- msgid ""
664
- "Squirrly <strong>finds the optimum Title and Description</strong> for each "
665
- "page of your blog but you can still customize the home page Title and "
666
- "Description if you want."
667
  msgstr ""
668
- "Squirrly <strong>gaseste Titlul si Meta Descrierea optima</strong> pentru "
669
- "fiecare pagina din blog dar poti sa modifici Titlul si Descrierea pentru "
670
- "prima pagina daca doresti."
671
 
672
- #: themes/default/SQ_BlockDashboard.php:24
673
- msgid ""
674
- "Squirrly <strong>manages the sitemap</strong> for your blog and pings it to "
675
- "Google and Bing every time you add a new article. This ensures that your "
676
- "articles get indexed much faster."
677
  msgstr ""
678
- "Squirrly <strong>intretine sitemap-ul</strong> din blog si il trimite spre "
679
- "Google si Bing de fiecare data cand adaugi un nou articol. Asta asigura ca "
680
- "articolele sunt indexate mai rapid."
681
 
682
- #: themes/default/SQ_BlockDashboard.php:25
683
- msgid ""
684
- "Squirrly <strong>adds the Facebook required meta</strong>, so that when your "
685
- "readers share your page or article, it looks really good."
 
 
 
 
 
 
 
 
686
  msgstr ""
687
- "Squirrly <strong>adauga meta pentru Facebook</strong> ca atunci cand "
688
- "cititorii dau Share la articol sa apara informatii relevante in Facebook."
689
 
690
- #: themes/default/SQ_BlockDashboard.php:26
691
- msgid ""
692
- "You can connect your site with your <strong>Google Plus</strong> and "
693
- "<strong>Google Analytics</strong> accounts."
 
 
 
 
 
 
694
  msgstr ""
695
- "Iti poti conecta contul cu <strong>Google Plus</strong> si <strong>Google "
696
- "Analytics</strong>."
697
 
698
- #: themes/default/SQ_BlockDashboard.php:27
699
  msgid ""
700
- "You can add the site icon (also known as favicon) and Squirrly will set it "
701
- "up to look good for <strong>Apple devices</strong>."
 
 
 
 
 
 
 
 
 
702
  msgstr ""
703
- "Poti adauga icoana in site (favicon) si Squirrly va seta meta pentru a se "
704
- "vedea pe dispozitivele Apple mobile."
705
 
706
- #: themes/default/SQ_BlockDashboard.php:32
707
- msgid "What does the Advanced option bring you:"
708
- msgstr "Ce iti aduce modul Avansat:"
709
 
710
- #: themes/default/SQ_BlockDashboard.php:34
711
- msgid "More <strong>SEO options</strong> are available on the Settings page."
712
- msgstr "Mai multe <strong>optiuni SEO</strong> disponibile in pagina Settings."
 
713
 
714
- #: themes/default/SQ_BlockDashboard.php:35
715
  msgid ""
716
- "You can connect your site with <strong>Google Webmaster Tools</strong>, "
717
- "<strong>Bing Webmaster Tools</strong> and <strong>Facebook Insights</strong>."
718
  msgstr ""
719
- "Poti conecta site-ul cu <strong>Google Webmaster Tools</strong>, "
720
- "<strong>Bing Webmaster Tools</strong> si <strong>Facebook Insights</strong>"
721
 
722
- #: themes/default/SQ_BlockDashboard.php:36
 
 
 
 
723
  msgid ""
724
- "You can see the <strong>Snippet</strong> when you edit your Post or Page."
 
725
  msgstr ""
726
- "Poti vedea <strong>Snippet-ul</strong> cand editezi o pagina sau un articol."
727
 
728
- #: themes/default/SQ_BlockDashboard.php:37
729
  msgid ""
730
- "You can <strong>customize the Title and Description</strong> of each Post/"
731
- "Page from within the snippet."
 
732
  msgstr ""
733
- "Poti <strong>modifica Titlul si Meta Descrierea</strong> in fiecare Pagina/"
734
- "Post din interiorul snippet-ului."
735
 
736
- #: themes/default/SQ_BlockHelp.php:4
 
 
 
 
 
737
  msgid ""
738
- "With Squirrly SEO, your Wordpress will get Excellent SEO on each article you "
739
- "write."
 
 
 
 
 
 
 
 
 
 
 
 
 
740
  msgstr ""
741
- "Cu Squirrly SEO, articolele tale vor avea un SEO excelent la fiecare articol "
742
- "scris."
743
 
744
- #: themes/default/SQ_BlockHelp.php:6
745
- msgid "SEO Software"
746
- msgstr "Software SEO"
 
747
 
748
- #: themes/default/SQ_BlockHelp.php:6
749
  msgid ""
750
- "delivered as a plugin for Wordpress. <br /><br />We connect your wordpress "
751
- "with Squirrly, so that we can find the best SEO opportunities, give you "
752
- "reports and analyse your competitors."
753
  msgstr ""
754
- "livrat ca un plugin de Wordpress. <br /><br />Conectam wordpress cu "
755
- "Squirrly pentru a gasi solutiile SEO cele mai bune, pentru a va oferi "
756
- "rapoarte si pentru a analiza competitia."
757
 
758
- #: themes/default/SQ_BlockHelp.php:19
759
- msgid "Don't show this page"
760
- msgstr "u afisa aceasta pagina"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
761
 
762
  #: themes/default/SQ_Blocklogin.php:2
763
  msgid "Squirrly.co Login"
@@ -827,43 +1113,10 @@ msgstr "A aparut o eroare la logare."
827
  msgid "Connecting ..."
828
  msgstr "Conectare ..."
829
 
830
- #: themes/default/SQ_Blocklogin.php:40
831
  msgid "Congratulations! Now write a new article with:"
832
  msgstr "Felicitari! Acum scrie un nou articol cu:"
833
 
834
- #: themes/default/SQ_Blocklogin.php:43
835
- msgid ""
836
- "<strong>Keyword Research and Analysis</strong>: find the keywords that are "
837
- "easier to rank for."
838
- msgstr ""
839
- "<strong>Keyword Research and Analysis</strong>: iti gaseste cuvintele cheie "
840
- "pe care sa mergi."
841
-
842
- #: themes/default/SQ_Blocklogin.php:44
843
- msgid ""
844
- "<strong>SEO Live Assistant</strong>: Your Wordpress gives you SEO adivce as "
845
- "you type your article."
846
- msgstr ""
847
- "<strong>SEO Live Assistant</strong>: Wordpress iti va da instructiuni SEO in "
848
- "timp ce scrii articolul."
849
-
850
- #: themes/default/SQ_Blocklogin.php:45
851
- msgid ""
852
- "<strong>Inspiration box</strong>: get images you can use for free, tweets "
853
- "you can quote and get up to date with latest news about your subject."
854
- msgstr ""
855
- "<strong>Inspiration box</strong>: iti preia imagini gratuite, tweet-uri pe "
856
- "care le poti adauga rapid in articol si ultimele noutati de pe internet "
857
- "legate de cuvantul cheie."
858
-
859
- #: themes/default/SQ_Blocklogin.php:46
860
- msgid ""
861
- "<strong>Article Rank</strong>: Measure and Monitor the impact of SEO and "
862
- "Social Signals for each of your articles."
863
- msgstr ""
864
- "<strong>Article Rank</strong>: Masoara si Monitorizeaza impactul SEO si "
865
- "Social pe fiecare articol/pagina."
866
-
867
  #: themes/default/SQ_Blockresearch.php:2
868
  msgid "Squirrly Keyword Research"
869
  msgstr " Cercetare cuvinte cheie"
@@ -876,7 +1129,7 @@ msgstr "Alta cautare"
876
  msgid "Keyword:"
877
  msgstr "Cuvant cheie:"
878
 
879
- #: themes/default/SQ_Blockresearch.php:11 themes/default/SQ_Blocksearch.php:23
880
  msgid "Use this keyword"
881
  msgstr "Foloseste acest cuvant"
882
 
@@ -896,135 +1149,130 @@ msgstr "Adauga mai multe cuvinte"
896
  msgid "Let some keywords for the next time as well!"
897
  msgstr "Mai lasa cuvinte si pentru viitor!"
898
 
 
 
 
 
899
  #: themes/default/SQ_Blocksearch.php:3
900
  msgid "Optimize for Keyword"
901
  msgstr "Optimizare dupa cuvant cheie"
902
 
903
- #: themes/default/SQ_Blocksearch.php:10
904
  msgid "Enter a keyword"
905
  msgstr "Adauga cuvant"
906
 
907
- #: themes/default/SQ_Blocksearch.php:10
908
  msgid "for Squirrly Live SEO optimization"
909
  msgstr "Pentru optimizare cu Squirrly SEO"
910
 
911
- #: themes/default/SQ_Blocksearch.php:22
912
  msgid "Do a research"
913
  msgstr "Mai multe detalii"
914
 
915
- #: themes/default/SQ_Blocksearch.php:27
916
  msgid "Enter a keyword above!"
917
  msgstr "Adauga cuvinte cheie mai sus!"
918
 
919
- #: themes/default/SQ_Blocksearch.php:28
920
  msgid "I have more then one keyword!"
921
  msgstr "Am mai multe cuvinte!"
922
 
923
- #: themes/default/SQ_Blocksearch.php:34
924
  msgid "Images"
925
  msgstr "Imagini"
926
 
927
- #: themes/default/SQ_Blocksearch.php:35
928
  msgid "Twitter"
929
  msgstr "Twitter"
930
 
931
- #: themes/default/SQ_Blocksearch.php:36
932
  msgid "Wiki"
933
  msgstr "Wiki"
934
 
935
- #: themes/default/SQ_Blocksearch.php:37
936
  msgid "News"
937
  msgstr "News"
938
 
939
- #: themes/default/SQ_Blocksearch.php:38
940
  msgid "Blogs"
941
  msgstr "Bloguri"
942
 
943
- #: themes/default/SQ_Blocksearch.php:39
944
  msgid "My articles"
945
  msgstr "Articolele mele"
946
 
947
- #: themes/default/SQ_Blocksearch.php:44
948
  msgid "Show only Copyright Free images"
949
  msgstr "Arata doar imagini fara copyright"
950
 
951
  #: themes/default/SQ_Blockseo.php:3
952
- msgid "Squirrly LIVE SEO assistant"
 
953
  msgstr "Asistent SEO Live"
954
 
955
- #: themes/default/SQ_BlockSupport.php:6
956
- msgid "Go to Profile"
957
- msgstr "Profilul tau din Squirrly"
958
-
959
- #: themes/default/SQ_BlockSupport.php:6
960
- msgid "Profile"
961
- msgstr "Profil"
962
-
963
- #: themes/default/SQ_BlockSupport.php:10
964
- msgid "Support"
965
- msgstr "Suport"
966
-
967
- #: themes/default/SQ_BlockSupport.php:13
968
- msgid "Need Help with Squirrly SEO?"
969
- msgstr "Ai nevoie de ajutor cu Squirrly SEO?"
970
-
971
- #: themes/default/SQ_BlockSupport.php:17
972
- msgid "Send Question"
973
- msgstr "Trimite"
974
-
975
- #: themes/default/SQ_BlockSupport.php:20 themes/default/SQ_BlockSupport.php:52
976
- msgid "Go to:"
977
- msgstr "Mergi la:"
978
-
979
- #: themes/default/SQ_BlockSupport.php:20 themes/default/SQ_BlockSupport.php:52
980
- msgid "support page"
981
- msgstr "pagina suport"
982
-
983
- #: themes/default/SQ_BlockSupport.php:25
984
- msgid "How was your Squirrly experience today?"
985
- msgstr "Cum a fost experienta de azi cu Squirrly?"
986
-
987
- #: themes/default/SQ_BlockSupport.php:32
988
- msgid "How was Squirrly today?"
989
- msgstr "Cum a fost Squirrly azi?"
990
-
991
- #: themes/default/SQ_BlockSupport.php:45
992
- msgid "Please tell us why?"
993
- msgstr "De ce?"
994
-
995
- #: themes/default/SQ_BlockSupport.php:48
996
- msgid "Send feedback"
997
- msgstr "Trimite"
998
-
999
- #: themes/default/SQ_BlockSupport.php:57
1000
- msgid "Thank you! You can send us a happy face tomorow too."
1001
- msgstr "Multumim! Ne poti trimite o fata vesela si maine."
1002
-
1003
  #: themes/default/SQ_Menu.php:4
1004
  msgid "Squirrly settings"
1005
  msgstr "Setari Squirrly"
1006
 
1007
- #: themes/default/SQ_Menu.php:4 themes/default/SQ_Menu.php:321
1008
  msgid "Save settings"
1009
  msgstr "Salveaza setari"
1010
 
1011
- #: themes/default/SQ_Menu.php:15
1012
  msgid "Let Squirrly automatically optimize my blog"
1013
  msgstr "Lasa Squirrly sa imi optimizeze blogul automat"
1014
 
1015
- #: themes/default/SQ_Menu.php:29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1016
  msgid "What does Squirrly automatically do for SEO?"
1017
  msgstr "Ce face Squirrly in mod automat pentru SEO?"
1018
 
1019
- #: themes/default/SQ_Menu.php:45
1020
- msgid "Add <strong>canonical</strong> link in home page"
1021
- msgstr "Adauga <strong>link canonic</strong> in pagina acasa"
 
 
 
1022
 
1023
- #: themes/default/SQ_Menu.php:62
1024
- msgid "Add the <strong>XML Sitemap</strong> for search engines"
 
1025
  msgstr "Adauga <strong>Harta XML</strong> pentru motoarele de cautare"
1026
 
1027
- #: themes/default/SQ_Menu.php:79
1028
  msgid ""
1029
  "Add the required METAs for home page (<strong>icon, author, language, dc "
1030
  "publisher</strong>, etc.)"
@@ -1032,7 +1280,7 @@ msgstr ""
1032
  "Adauga cerintele META in pagina acasa (<strong>icon, author, language, dc "
1033
  "publisher</strong>, etc.)"
1034
 
1035
- #: themes/default/SQ_Menu.php:96
1036
  msgid ""
1037
  "Add the <strong>favicon</strong> and the <strong>icon for Apple devices</"
1038
  "strong>."
@@ -1040,78 +1288,106 @@ msgstr ""
1040
  "Adauga <strong>favicon</strong> si <strong>icoana pentru dispozitivele "
1041
  "Apple</strong>."
1042
 
1043
- #: themes/default/SQ_Menu.php:113
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1044
  msgid ""
1045
- "Add the <strong>Facebook meta objects</strong> for a good looking share. "
1046
  msgstr ""
1047
  "Adauga <strong>Facebook meta objects</strong> pentru o afisare mai frumoasa "
1048
  "in Facebook"
1049
 
1050
- #: themes/default/SQ_Menu.php:130
1051
  msgid "Add the <strong>Twitter card</strong> in your tweets. "
1052
  msgstr "Adauga <strong>titlul</strong> corect in pagina acasa"
1053
 
1054
- #: themes/default/SQ_Menu.php:131
1055
  msgid "Your twitter account: "
1056
  msgstr "Contul tau de twitter:"
1057
 
1058
- #: themes/default/SQ_Menu.php:141
1059
- msgid "First page optimization (Title, Description, Keywords)"
1060
- msgstr "Optimizare prima pagina (Titlu, Descriere, Cuvinte cheie)"
 
 
 
 
 
 
1061
 
1062
- #: themes/default/SQ_Menu.php:157
1063
- msgid "Add the correct <strong>title</strong> in the home page"
 
1064
  msgstr "Adauga <strong>titlul</strong> corect in pagina acasa"
1065
 
1066
  #: themes/default/SQ_Menu.php:174
 
1067
  msgid ""
1068
- "Add the correct <strong>description</strong> and <strong>keywords</strong> "
1069
- "in home page"
1070
  msgstr ""
1071
  "Aadauga <strong>descrierea</strong> si <strong>cuvintele cheie</strong> "
1072
  "corecte in prima pagina"
1073
 
1074
- #: themes/default/SQ_Menu.php:190
1075
- msgid "Auto"
1076
- msgstr "Auto"
1077
-
1078
- #: themes/default/SQ_Menu.php:192
1079
- msgid "Custom"
1080
- msgstr "Manual"
1081
-
1082
- #: themes/default/SQ_Menu.php:195
1083
- msgid "Home page SEO optimization"
1084
- msgstr "Optimizare cu Squirrly SEO"
1085
-
1086
- #: themes/default/SQ_Menu.php:200
1087
  msgid "Title:"
1088
  msgstr "Titlu:"
1089
 
1090
- #: themes/default/SQ_Menu.php:201
1091
  msgid "Tips: Length 10-75 chars"
1092
  msgstr "Atentie: Lungimea 10-75 caractere"
1093
 
1094
- #: themes/default/SQ_Menu.php:204
1095
  msgid "Description:"
1096
  msgstr "Descrierea:"
1097
 
1098
- #: themes/default/SQ_Menu.php:205
1099
  msgid "Tips: Length 70-165 chars"
1100
  msgstr "Atentie: Lungimea 70-165 caractere"
1101
 
1102
- #: themes/default/SQ_Menu.php:208
1103
  msgid "Keywords:"
1104
  msgstr "Cuvinte cheie:"
1105
 
1106
- #: themes/default/SQ_Menu.php:209
1107
  msgid "Tips: 2-4 keywords"
1108
  msgstr "Atentie: 2-4 cuvinte cheie"
1109
 
1110
- #: themes/default/SQ_Menu.php:220
 
 
 
 
 
1111
  msgid "Check with google ..."
1112
  msgstr "Verificat cu google ..."
1113
 
1114
- #: themes/default/SQ_Menu.php:223
1115
  msgid ""
1116
  "If you don't see any changes in custom optimization, check if another SEO "
1117
  "plugin affects Squirrly SEO"
@@ -1119,106 +1395,815 @@ msgstr ""
1119
  "Daca nu sunt modificari in titlu prin aceasta optimizate, verifica daca nu e "
1120
  "afectat de alte pluginuri instalate."
1121
 
1122
- #: themes/default/SQ_Menu.php:233
1123
  msgid "Squirrly Options"
1124
  msgstr "Optiuni Squirrly"
1125
 
1126
- #: themes/default/SQ_Menu.php:242
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1127
  msgid "Let Squirrly warn me if there are errors related to SEO settings"
1128
  msgstr "Lasa Squirrly sa ma anunte daca sunt erori SEO in setari"
1129
 
1130
- #: themes/default/SQ_Menu.php:253
1131
  msgid ""
1132
  "Show <strong>\"Enter a keyword\"</strong> bubble when posting a new article."
1133
  msgstr ""
1134
  "Afiseaza balonul <strong>\"Adauga un keyword\"</strong>cand se posteaza un "
1135
  "nou articol."
1136
 
1137
- #: themes/default/SQ_Menu.php:264
1138
  msgid ""
1139
  "Always show <strong>Keyword Informations</strong> about the selected keyword."
1140
  msgstr ""
1141
  "Afiseaza <strong>Informatii de cuvint cheie</strong> dupa alegerea "
1142
  "cuvantului la postare."
1143
 
1144
- #: themes/default/SQ_Menu.php:272
1145
- msgid "Change the Website Icon"
1146
- msgstr "Schimba icoana site-ului"
1147
 
1148
- #: themes/default/SQ_Menu.php:275
1149
- msgid "File types: JPG, JPEG, GIF and PNG."
1150
- msgstr "Tip fisiere JPEG,JPG,GIF sau PNG "
1151
 
1152
- #: themes/default/SQ_Menu.php:278
1153
- msgid "Upload file:"
1154
- msgstr "Urca fisier:"
 
1155
 
1156
- #: themes/default/SQ_Menu.php:283
1157
- msgid "Upload"
1158
- msgstr "Upload"
1159
 
1160
- #: themes/default/SQ_Menu.php:287
1161
- #, php-format
1162
- msgid ""
1163
- "You can use %shttp://convertico.com/%s to convert your photo to icon and "
1164
- "upload it here after that."
1165
  msgstr ""
1166
- "Poti folosi %shttp://convertico.com/%s pentru a converti imaginea in icoana "
1167
- "si poti incarca icoana aici"
1168
 
1169
- #: themes/default/SQ_Menu.php:288
1170
- msgid ""
1171
- "If you don't see the new icon in your browser, empty the browser cache and "
1172
- "refresh the page."
1173
  msgstr ""
1174
- "Daca nu vezi noua icoana in browser, goleste cache-ul din browser si da "
1175
- "refresh la pagina."
1176
 
1177
- #: themes/default/SQ_Menu.php:292
1178
- msgid "Tool for Search Engines"
1179
- msgstr "Pentru motoare de cautare"
1180
 
1181
- #: themes/default/SQ_Menu.php:296
1182
- msgid "Google Plus URL:"
1183
- msgstr "URL Google Plus:"
1184
 
1185
- #: themes/default/SQ_Menu.php:300
1186
- #, php-format
1187
- msgid "Google META verification code for %sWebmaster Tool%s`:"
1188
- msgstr "Cod META pentru %sGoogle Webmaster Tool%s"
1189
 
1190
- #: themes/default/SQ_Menu.php:304
1191
- #, php-format
1192
- msgid "Google %sAnalytics ID%s`:"
1193
- msgstr "Google %sAnalytics ID%s:"
1194
 
1195
- #: themes/default/SQ_Menu.php:308
1196
- #, php-format
1197
- msgid "Facebook META code (for %sInsights%s )`:"
1198
- msgstr "Facebook META code (pentru %sInsights%s):"
1199
 
1200
- #: themes/default/SQ_Menu.php:312
1201
- #, php-format
1202
- msgid "Bing META code (for %sWebmaster Tool%s )`:"
1203
- msgstr "Bing META code (pentru %sWebmaster Tool%s):"
1204
 
1205
- #~ msgid "Can not connect to Squirrly. Error: "
1206
- #~ msgstr "Nu se poate conecta la Squirrly. Eroare: "
 
1207
 
1208
- #~ msgid "Write a new post with Squirrly"
1209
- #~ msgstr "Scrie un nou articol cu Squirrly"
 
1210
 
1211
- #~ msgid "Today"
1212
- #~ msgstr "Azi"
 
1213
 
1214
- #~ msgid " API"
1215
- #~ msgstr " API"
 
1216
 
1217
- #~ msgid "API Key:"
1218
- #~ msgstr "Cheie API"
 
 
 
 
 
 
 
 
 
 
 
 
 
1219
 
1220
- #~ msgid "See it in post list"
1221
- #~ msgstr "Vezi in "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1222
 
1223
  #~ msgid "For Squirrly to work, you have to have tinymce installed!"
1224
  #~ msgstr ""
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: squirrly_seo\n"
4
+ "POT-Creation-Date: 2014-12-15 11:36+0200\n"
5
+ "PO-Revision-Date: 2014-12-15 11:40+0200\n"
6
  "Last-Translator: Squirrly <contact@squirrly.co>\n"
7
+ "Language-Team: Squirrly UK <support@squirrly.co>\n"
8
+ "Language: ro_RO\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.6.10\n"
13
  "X-Poedit-KeywordsList: __;_e\n"
14
+ "X-Poedit-Basepath: D:\\pagini_net\\se_lucreaza\\github\\wordpress\\wp-content"
15
+ "\\plugins\\squirrly-seo\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
+ #: classes/SQ_Error.php:16
 
 
 
 
 
20
  msgid ""
21
  "Function get_class does not exists! Is required for Squirrly to work "
22
  "properly."
24
  "Functia get_class nu exista! E necesara pentru a functiona corect pluginul "
25
  "Squirrly"
26
 
27
+ #: classes/SQ_Error.php:19
28
  msgid ""
29
  "Function file_exists does not exists! Is required for Squirrly to work "
30
  "properly."
32
  "Functia file_exists nu exista! E necesara pentru a functiona corect pluginul "
33
  "Squirrly"
34
 
35
+ #: classes/SQ_Error.php:23
36
  msgid "The home directory is not set!"
37
  msgstr "Directorul home nu este setat!"
38
 
39
+ #: classes/SQ_Error.php:27
40
  msgid "The PHP version has to be greater then 4.0"
41
  msgstr "Versiunea PHP trebuie sa fie mai mare de 4.0"
42
 
43
+ #: classes/SQ_Error.php:62
44
  msgid "Turn off warnings!"
45
  msgstr "Opreste avertizarile"
46
 
47
+ #: classes/SQ_Error.php:63
48
  msgid "Notice: "
49
  msgstr "Atentie:"
50
 
51
+ #: classes/SQ_Error.php:67
52
  msgid "Note: "
53
  msgstr "Atentie:"
54
 
55
+ #: classes/SQ_Tools.php:59 controllers/SQ_Menu.php:117
 
 
 
 
56
  msgid "Getting started"
57
  msgstr "Ajutor"
58
 
59
+ #: classes/SQ_Tools.php:62 controllers/SQ_Menu.php:126
60
+ msgid "Dashboard"
61
+ msgstr "Dashboard"
62
+
63
+ #: classes/SQ_Tools.php:358
64
  msgid "Fix it for me!"
65
  msgstr "Repara-l"
66
 
67
+ #: classes/SQ_Tools.php:366
68
  msgid "Let Squirrly optimize your SEO automatically (recommended)"
69
  msgstr "Lasa Squirrly sa optimizeze SEO automat (recomandat)"
70
 
71
+ #: classes/SQ_Tools.php:379
72
+ msgid ""
73
+ "You have META Description Duplicates. Disable the Squirrly SEO Description "
74
+ "or disable the other SEO Plugins"
75
+ msgstr ""
76
+ "Aveti duplicate in META Descriere. Opriti Squirrly Seo Description sau "
77
+ "dezactivati alte plugin-uri de SEO"
78
+
79
+ #: classes/SQ_Tools.php:387
80
+ msgid ""
81
+ "You have Open Graph META Duplicates. Disable the Squirrly SEO Open Graph or "
82
+ "disable the other SEO Plugins"
83
+ msgstr ""
84
+ "Aveti duplicate in META Open Graph. Opriti Squirrly Seo Open Graph sau "
85
+ "dezactivati alte plugin-uri de SEO"
86
+
87
+ #: classes/SQ_Tools.php:395
88
+ msgid ""
89
+ "You have Twitter Card META Duplicates. Disable the Squirrly SEO Twitter Card "
90
+ "or disable the other SEO Plugins"
91
+ msgstr ""
92
+ "Aveti duplicate in META Twitter Card. Opriti Squirrly Seo Twitter Card sau "
93
+ "dezactivati alte plugin-uri de SEO"
94
+
95
+ #: classes/SQ_Tools.php:406
96
  msgid "You're blocking google from indexing your site!"
97
  msgstr "Blochezi accesul la google spre indexarea site-ului"
98
 
99
+ #: classes/SQ_Tools.php:413
100
  msgid ""
101
  "It is highly recommended that you include the %postname% variable in the "
102
  "permalink structure. <br />Go to Settings > Permalinks and add /%postname%/ "
106
  ">Mergi la Setari > Legaturi permanente si adauga /%postname%/ in campul "
107
  "Structură personalizată"
108
 
109
+ #: controllers/SQ_Menu.php:97
110
+ msgid ""
111
+ "Check out your SEO Audit and the Performance Analytics section. <a href="
112
+ "\"admin.php?page=sq_dashboard\" title=\"Squirrly Dashboard\">Click here</a>"
113
+ msgstr ""
114
+
115
+ #: controllers/SQ_Menu.php:116
116
  msgid " getting started"
117
  msgstr "ajutor"
118
 
119
+ #: controllers/SQ_Menu.php:125
120
  msgid " dashboard"
121
  msgstr "dashboard"
122
 
123
+ #: controllers/SQ_Menu.php:133
124
+ #, fuzzy
125
+ msgid " post list"
126
+ msgstr "Vezi in "
127
+
128
+ #: controllers/SQ_Menu.php:134
129
+ msgid "Performance <br />Analytics"
130
+ msgstr ""
131
+
132
+ #: controllers/SQ_Menu.php:141
133
+ msgid " account info"
134
+ msgstr ""
135
+
136
+ #: controllers/SQ_Menu.php:142
137
+ msgid "Account Info"
138
+ msgstr ""
139
 
140
+ #: controllers/SQ_Menu.php:149
141
  msgid " settings"
142
  msgstr "setari"
143
 
144
+ #: controllers/SQ_Menu.php:150
145
+ #, fuzzy
146
+ msgid "SEO Settings"
147
+ msgstr "Setari"
148
+
149
+ #: controllers/SQ_Menu.php:158
150
  msgid "Make money with "
151
  msgstr "Castiga bani cu"
152
 
153
+ #: controllers/SQ_Menu.php:159
154
  msgid "Make money"
155
  msgstr "Castiga Bani"
156
 
157
+ #: controllers/SQ_PostsList.php:95
 
 
 
 
158
  msgid "Squirrly"
159
  msgstr "Squirrly"
160
 
161
+ #: controllers/SQ_PostsList.php:130
162
  msgid "Custom description: "
163
  msgstr "Descrierea:"
164
 
165
+ #: controllers/SQ_PostsList.php:130
166
  msgid "Custom title: "
167
  msgstr "Titlul"
168
 
169
+ #: controllers/SQ_PostsList.php:163
170
+ msgid "SEO Analytics, by Squirrly"
171
+ msgstr "SEO Analytics, de la Squirrly"
172
 
173
+ #: controllers/SQ_PostsList.php:164 core/SQ_Blockseo/SQ_Blockseo.php:25
174
  msgid "Update"
175
  msgstr "Update"
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  #: controllers/SQ_PostsList.php:168
178
+ msgid "Not Public"
179
+ msgstr "Ciorna"
180
 
181
  #: controllers/SQ_PostsList.php:169
182
+ msgid "Could not process"
183
+ msgstr "Nu s-a putut verifica"
184
 
185
+ #: controllers/SQ_PostsList.php:311 controllers/SQ_PostsList.php:325
186
+ #: models/SQ_BlockPostsAnalytics.php:391
187
+ msgid "Could not receive data from google (Err: blocked IP)"
188
+ msgstr "Nu s-au putut lua informatii de la google (IP Blocat)"
189
 
190
+ #: controllers/SQ_PostsList.php:313 models/SQ_BlockPostsAnalytics.php:393
191
+ msgid "> 100"
192
+ msgstr ""
193
 
194
+ #: controllers/SQ_PostsList.php:315 models/SQ_BlockPostsAnalytics.php:395
195
+ #, fuzzy
196
+ msgid "URL Indexed"
197
+ msgstr "Indexare Google"
198
 
199
+ #: controllers/SQ_PostsList.php:317 models/SQ_BlockPostsAnalytics.php:397
200
+ #, php-format
201
+ msgid "%s"
202
+ msgstr ""
203
 
204
+ #: core/SQ_BlockAffiliate/SQ_BlockAffiliate.php:34
205
  #, php-format
206
  msgid "Error: %s"
207
  msgstr "Eroare: %s"
208
 
209
+ #: core/SQ_BlockAffiliate/SQ_BlockAffiliate.php:37
210
+ #: core/SQ_Blocklogin/SQ_Blocklogin.php:86
211
  msgid "An error occured. Mabe a network error :("
212
  msgstr "A aparut o eroare. Probabil o eroare de retea :("
213
 
214
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:22
215
+ msgid "Plugin Feedback"
216
+ msgstr "Feedback Squirrly"
217
+
218
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:58
219
+ msgid "Thank you for your feedback"
220
+ msgstr "Multumesc pentru feedback"
221
+
222
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:61
223
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:99
224
+ msgid "Could not send the email..."
225
+ msgstr "Nu s-a putut trimite email ..."
226
+
227
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:65
228
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:103
229
+ msgid "No message."
230
+ msgstr "Nici un mesaj."
231
+
232
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:85
233
+ msgid "Plugin Support"
234
+ msgstr "Suport la plugin"
235
+
236
+ #: core/SQ_BlockSupport/SQ_BlockSupport.php:96
237
+ #, fuzzy
238
+ msgid "Message sent. Thank you!"
239
+ msgstr "Mesajul a fost trimis..."
240
+
241
+ #: core/SQ_Blocklogin/SQ_Blocklogin.php:81
242
  #, php-format
243
  msgid ""
244
  "We found your email, so it means you already have a Squirrly.co account. "
249
  "Conecteaza-te cu contul tau de Squirrly. Daca ai uitat parola atunci apasa "
250
  "%saici%s"
251
 
252
+ #: core/SQ_Blocklogin/SQ_Blocklogin.php:89
253
  #, php-format
254
  msgid ""
255
  "Could not send your informations to squirrly. Please register %smanually%s."
272
  msgid "Both fields are required."
273
  msgstr "Ambele campuri sunt obligatorii!"
274
 
275
+ #: core/SQ_Blockresearch/SQ_Blockresearch.php:13
276
  msgid "Recent discussions:"
277
  msgstr "Discutii recente:"
278
 
279
+ #: core/SQ_Blockresearch/SQ_Blockresearch.php:13
280
  msgid "Exact search:"
281
  msgstr "Cautari exacte:"
282
 
283
+ #: core/SQ_Blockresearch/SQ_Blockresearch.php:13
284
  msgid "Competition:"
285
  msgstr "Competitia:"
286
 
287
+ #: core/SQ_Blockresearch/SQ_Blockresearch.php:13
288
  msgid "Trend:"
289
  msgstr "Trend:"
290
 
291
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
292
  msgid "date"
293
  msgstr "data"
294
 
295
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
296
  msgid "Read it!"
297
  msgstr "Citeste!"
298
 
299
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
300
  msgid "Insert it!"
301
  msgstr "Adauga!"
302
 
303
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
304
  msgid "Reference"
305
  msgstr "Referinta"
306
 
307
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
308
  msgid "Insert as box"
309
  msgstr "Adauga"
310
 
311
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
312
  msgid "Not relevant?"
313
  msgstr "Nu e ce doresti?"
314
 
315
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
316
  msgid "Insert in your article"
317
  msgstr "Adauga paragraf in articol"
318
 
319
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
320
  msgid "For Squirrly to work, you have to have tinymce editor installed!"
321
  msgstr ""
322
  "Pentru ca Squirrly sa functioneze, trebuie sa ai editorul TinyMCE instalat"
323
 
324
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
325
  msgid ":( I lost my squirrel. Please reload the page."
326
  msgstr ":( Am pierdut veverita. Te rog sa dai refresh la pagina."
327
 
328
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
329
  msgid "No results found!"
330
  msgstr "Nu s-a gasit nimic ..."
331
 
332
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
333
  msgid "Switch to Visual editor!"
334
  msgstr "Schimba in Editor Vizual!"
335
 
336
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
337
  msgid "Use more words in one keyword"
338
  msgstr "Am mai multe cuvinte"
339
 
340
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
341
  msgid "Takes too long to check this keyword ..."
342
  msgstr "Ia prea mult timp sa verifice cuvantul ..."
343
 
344
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
345
  msgid "Do a research!"
346
  msgstr "Mai multe detalii!"
347
 
348
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
349
  msgid "Do more research!"
350
  msgstr "Mai multe detalii!"
351
 
352
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
353
  #, php-format
354
  msgid "[ ATTRIBUTE: Please check: %s to find out how to attribute this image ]"
355
  msgstr ""
356
  "[ ATTRIBUTE: Verificati: %s pentru a vedea conditile de atribuire a "
357
  "imaginii ]"
358
 
359
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
360
  msgid "Has creative commons attributes"
361
  msgstr "Are conditii de atribuire"
362
 
363
+ #: core/SQ_Blocksearch/SQ_Blocksearch.php:50
364
  msgid "No known copyright restrictions"
365
  msgstr "Nu sunt restrictii de copyright cunoscute"
366
 
367
+ #: core/SQ_Blockseo/SQ_Blockseo.php:15
368
  msgid "Save changes"
369
  msgstr "Salveaza"
370
 
371
+ #: core/SQ_Blockseo/SQ_Blockseo.php:16
372
  msgid "Cancel"
373
  msgstr "Renunta"
374
 
375
+ #: core/SQ_Blockseo/SQ_Blockseo.php:17
376
  msgid "Reset"
377
  msgstr "Resetare"
378
 
379
+ #: core/SQ_Blockseo/SQ_Blockseo.php:19
380
+ #, fuzzy
381
+ msgid "Customize Meta"
382
  msgstr "Modificare META"
383
 
384
+ #: core/SQ_Blockseo/SQ_Blockseo.php:20
385
  msgid "manage keywords"
386
  msgstr "administrare cuvinte cheie"
387
 
388
+ #: core/SQ_Blockseo/SQ_Blockseo.php:21 themes/default/SQ_Menu.php:521
389
  msgid "Too short"
390
  msgstr "Prea scurt"
391
 
392
+ #: core/SQ_Blockseo/SQ_Blockseo.php:22 themes/default/SQ_Menu.php:522
393
  msgid "Too long"
394
  msgstr "Prea lung"
395
 
396
+ #: core/SQ_Blockseo/SQ_Blockseo.php:24 themes/default/SQ_Menu.php:231
397
  msgid "Squirrly Snippet"
398
  msgstr "Snipet Squirrly"
399
 
400
+ #: core/SQ_Blockseo/SQ_Blockseo.php:26
401
+ msgid "snippet"
402
+ msgstr ""
403
+
404
+ #: core/SQ_Blockseo/SQ_Blockseo.php:28
405
  msgid ""
406
  "Click the Update button (to the right) to see the snippet from your website."
407
  msgstr "Click pe butonul Update pentru a vedea snipetul site-ului"
408
 
409
+ #: core/SQ_Blockseo/SQ_Blockseo.php:29
410
  msgid "Enter a title above for the snippet to get data."
411
  msgstr "Adauga un titlu pentru a putea vedea datele in snipet"
412
 
413
+ #: core/SQ_Loading/SQ_Loading.php:21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
414
  msgid ""
415
  "For Squirrly to work properly you have to use a higher version of Internet "
416
  "Explorer. <br /> We recommend you to use Chrome or Mozilla."
418
  "Pentru a functiona Squirrly, trebui sa folosesti o versiune mai noua de "
419
  "Internet explorer. <br /> Recomandam sa folosesti Chrome sau Mozilla."
420
 
421
+ #: core/SQ_Loading/SQ_Loading.php:29
422
  msgid ""
423
  "You haven`t used Squirrly SEO to optimize your article. Do you want to "
424
  "optimize for a keyword before publishing?"
426
  "Nu ai folosit Squirrly SEO pentru a optimiza articolul. Vrei sa il "
427
  "optimizezi inainte de publicare?"
428
 
429
+ #: models/SQ_BlockPostsAnalytics.php:270
430
+ msgid "Type"
431
+ msgstr ""
432
+
433
+ #: models/SQ_BlockPostsAnalytics.php:273
434
+ msgid "Author"
435
+ msgstr ""
436
+
437
+ #: models/SQ_BlockPostsAnalytics.php:276
438
+ #, fuzzy
439
+ msgid "Keywords"
440
+ msgstr "Cuvinte cheie:"
441
+
442
+ #: models/SQ_BlockPostsAnalytics.php:278
443
+ #, php-format
444
+ msgid "Google.%s Position"
445
+ msgstr ""
446
+
447
+ #: models/SQ_BlockPostsAnalytics.php:279
448
+ msgid "Monthly Traffic"
449
+ msgstr "Trafic lunar"
450
+
451
+ #: models/SQ_BlockPostsAnalytics.php:280
452
+ msgid "Date"
453
+ msgstr "Data"
454
+
455
+ #: models/SQ_BlockPostsAnalytics.php:293
456
+ msgid "Reset Filters"
457
+ msgstr "Resetare Filtre"
458
+
459
+ #: models/SQ_BlockPostsAnalytics.php:352
460
+ #, php-format
461
+ msgid "Edit &#8220;%s&#8221;"
462
+ msgstr ""
463
+
464
+ #: models/SQ_BlockPostsAnalytics.php:355
465
+ msgid "Edit this item"
466
+ msgstr ""
467
+
468
+ #: models/SQ_BlockPostsAnalytics.php:355
469
+ msgid "Edit"
470
+ msgstr ""
471
+
472
+ #: models/SQ_BlockPostsAnalytics.php:360
473
+ #, php-format
474
+ msgid "Preview &#8220;%s&#8221;"
475
+ msgstr ""
476
+
477
+ #: models/SQ_BlockPostsAnalytics.php:360
478
+ msgid "Preview"
479
+ msgstr ""
480
+
481
+ #: models/SQ_BlockPostsAnalytics.php:362
482
+ #, php-format
483
+ msgid "View &#8220;%s&#8221;"
484
+ msgstr ""
485
+
486
+ #: models/SQ_BlockPostsAnalytics.php:362
487
+ msgid "View"
488
+ msgstr ""
489
+
490
+ #: models/SQ_BlockPostsAnalytics.php:383
491
+ msgid "No Tags"
492
+ msgstr ""
493
+
494
+ #: models/SQ_BlockPostsAnalytics.php:399
495
+ msgid "Force recheck"
496
+ msgstr ""
497
+
498
+ #: models/SQ_BlockPostsAnalytics.php:401
499
+ msgid "Not yet verified"
500
+ msgstr ""
501
+
502
+ #: models/SQ_BlockPostsAnalytics.php:414
503
+ msgid "Unpublished"
504
+ msgstr ""
505
+
506
+ #: models/SQ_BlockPostsAnalytics.php:423
507
+ #, php-format
508
+ msgid "%s ago"
509
+ msgstr ""
510
+
511
+ #: models/SQ_BlockPostsAnalytics.php:425
512
+ msgid "Y/m/d"
513
+ msgstr ""
514
+
515
+ #: models/SQ_BlockPostsAnalytics.php:430
516
+ msgid "Published"
517
+ msgstr ""
518
+
519
+ #: models/SQ_BlockPostsAnalytics.php:433
520
+ msgid "Missed schedule"
521
+ msgstr ""
522
+
523
+ #: models/SQ_BlockPostsAnalytics.php:435
524
+ msgid "Scheduled"
525
+ msgstr ""
526
+
527
+ #: models/SQ_BlockPostsAnalytics.php:437
528
+ msgid "Last Modified"
529
+ msgstr ""
530
+
531
+ #: models/SQ_BlockStatus.php:128
532
+ #, php-format
533
+ msgid "%s More Traffic for you!"
534
+ msgstr ""
535
+
536
+ #: models/SQ_BlockStatus.php:128
537
+ msgid "[close this box]"
538
+ msgstr ""
539
+
540
+ #: models/SQ_BlockStatus.php:133
541
+ msgid "CONGRATULATIONS!!"
542
+ msgstr ""
543
+
544
+ #: models/SQ_BlockStatus.php:136
545
+ msgid "Your Traffic Increased by:"
546
+ msgstr ""
547
+
548
+ #: models/SQ_BlockStatus.php:141
549
+ #, php-format
550
+ msgid ""
551
+ "the articles you’ve optimized with Squirrly SEO bring you %s more traffic "
552
+ "than the other ones."
553
+ msgstr ""
554
+
555
+ #: models/SQ_Frontend.php:375 models/SQ_Frontend.php:389
556
+ #: models/SQ_Frontend.php:396 models/SQ_Frontend.php:533
557
+ #: models/SQ_Frontend.php:551 models/SQ_Frontend.php:563
558
+ msgid "Page"
559
+ msgstr ""
560
+
561
+ #: models/SQ_Frontend.php:386
562
+ msgid "About"
563
+ msgstr ""
564
+
565
+ #: models/SQ_Menu.php:145
566
  msgid "The code for Google Webmaster Tool is incorrect."
567
  msgstr "Codul google pentru Webmaster Tool este gresit."
568
 
569
+ #: models/SQ_Menu.php:172
570
  msgid "The code for Google Analytics is incorrect."
571
  msgstr "Codul Google Analytics este incorect."
572
 
573
+ #: models/SQ_Menu.php:198
574
  msgid "The code for Facebook is incorrect."
575
  msgstr "Codul Facbook este gresit."
576
 
577
+ #: models/SQ_Menu.php:223
578
+ #, fuzzy
579
+ msgid "The code for Pinterest is incorrect."
580
+ msgstr "Codul Bing este gresit."
581
+
582
+ #: models/SQ_Menu.php:248
583
  msgid "The code for Bing is incorrect."
584
  msgstr "Codul Bing este gresit."
585
 
586
+ #: models/SQ_Menu.php:281
587
+ #, fuzzy
588
+ msgid "File type error: Only ICO, JPEG, JPG, GIF or PNG files are allowed."
589
  msgstr "Eroare fisier: Doar fisierele JPEG,JPG,GIF sau PNG sunt permise"
590
 
591
+ #: models/SQ_Menu.php:287
592
  msgid "GD error: The GD library must be installed on your server."
593
  msgstr ""
594
  "Eroare librarie GD: Trebuie sa instalezi libraria GD pe server pentru a "
595
  "putea adauga imaginea"
596
 
597
+ #: models/SQ_Menu.php:293
598
  msgid "Delete error: Could not delete the old favicon."
599
  msgstr "Eroare Stergere: Nu se poate sterge icoana veche"
600
 
601
+ #: models/SQ_Menu.php:300
602
  msgid "Upload error: Could not upload the favicon."
603
  msgstr "Eroare Upload: Nu se poate urca pe server imaginea"
604
 
605
+ #: models/SQ_Menu.php:306
606
  msgid "Permission error: Could not change the favicon permissions."
607
  msgstr "Eroare Fisier: Nu se poate schimba permisiunea fisierului"
608
 
609
+ #: models/SQ_Menu.php:332
610
  msgid ""
611
  "ICO Error: Could not create the ICO from file. Try with another file type."
612
  msgstr "Eroare ICO: Nu se poate transforma imaginea in fisier ICO"
613
 
614
+ #: models/SQ_Menu.php:338
615
  msgid "The favicon has been updated."
616
  msgstr "Icoana a fost adaugata pe server"
617
 
618
+ #: models/SQ_Post.php:69
619
  msgid "Squirrly could not find any results for: "
620
  msgstr "Squirrly nu a putut gasi rezultate pentru: "
621
 
622
+ #: models/SQ_Post.php:132
623
+ msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
624
+ msgstr ""
625
 
626
+ #: models/SQ_Post.php:133
627
+ msgid ""
628
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
629
+ "the HTML form."
630
+ msgstr ""
631
 
632
+ #: models/SQ_Post.php:134
633
+ msgid "The uploaded file was only partially uploaded."
634
+ msgstr ""
635
 
636
+ #: models/SQ_Post.php:135
637
+ msgid "No file was uploaded."
638
+ msgstr ""
639
 
640
+ #: models/SQ_Post.php:137
641
+ msgid "Missing a temporary folder."
642
+ msgstr ""
643
 
644
+ #: models/SQ_Post.php:138
645
+ msgid "Failed to write file to disk."
646
+ msgstr ""
647
 
648
+ #: models/SQ_Post.php:139
649
+ msgid "File upload stopped by extension."
650
+ msgstr ""
651
 
652
+ #: models/SQ_Post.php:156
653
+ msgid "Invalid form submission."
654
+ msgstr ""
655
 
656
+ #: models/SQ_Post.php:166
657
+ msgid "File is empty. Please upload something more substantial."
658
+ msgstr ""
 
 
 
 
 
 
 
 
 
 
659
 
660
+ #: models/SQ_Post.php:168
661
+ msgid ""
662
+ "File is empty. Please upload something more substantial. This error could "
663
+ "also be caused by uploads being disabled in your php.ini or by post_max_size "
664
+ "being defined as smaller than upload_max_filesize in php.ini."
665
+ msgstr ""
 
 
 
666
 
667
+ #: models/SQ_Post.php:174
668
+ msgid "Specified file failed upload test."
669
+ msgstr ""
670
 
671
+ #: models/SQ_Post.php:187
672
+ msgid "Sorry, this file type is not permitted for security reasons."
673
+ msgstr ""
674
 
675
+ #: models/SQ_Post.php:212
676
+ #, php-format
677
+ msgid "The uploaded file could not be moved to %s."
678
+ msgstr ""
679
 
680
+ #: models/SQ_PostsList.php:30 themes/default/SQ_BlockAnalytics.php:234
681
  msgid "Visits"
682
  msgstr "Vizite"
683
 
684
+ #: models/SQ_PostsList.php:34
685
+ msgid "monthly traffic"
686
+ msgstr ""
687
+
688
+ #: models/SQ_PostsList.php:37
689
+ msgid "See Analytics"
690
+ msgstr ""
691
 
692
+ #: models/SQ_PostsList.php:39
693
+ msgid "Optimize it with Squirrly to see the Analytics"
694
+ msgstr ""
695
 
696
+ #: models/SQ_PostsList.php:91
697
+ msgid "This post's current position in Google"
698
+ msgstr ""
699
 
700
+ #: models/SQ_PostsList.php:94
701
+ msgid "The total traffic for the last 30 days, for the current post"
702
+ msgstr ""
703
 
704
+ #: models/SQ_PostsList.php:97
705
+ msgid "The total number of shares on social media channels for this post"
706
+ msgstr ""
707
 
708
+ #: models/SQ_PostsList.php:100
709
+ #, fuzzy
710
+ msgid "The total authority for this post"
711
+ msgstr "Nu sunt suficiente informatii pentru acest post"
712
 
713
+ #: models/SQ_PostsList.php:103
714
+ msgid "The total number of inbound links to this post"
715
+ msgstr ""
716
 
717
+ #: squirrly.php:52
718
+ msgid ""
719
+ "For Squirrly to work, the PHP version has to be equal or greater then 5.1"
720
+ msgstr "Versiunea PHP trebuie sa fie mai mare de 5.1"
721
+
722
+ #: themes/default/SQ_BlockAccount.php:7
723
+ #, fuzzy
724
+ msgid "Squirrly account information"
725
+ msgstr "Vezi Squirrly in actiune"
726
+
727
+ #: themes/default/SQ_BlockAccount.php:11
728
+ msgid "Hey,"
729
+ msgstr ""
730
 
731
+ #: themes/default/SQ_BlockAccount.php:13
732
  msgid ""
733
+ "Thanks for joining Squirrly. We love our users and we like it when they "
734
+ "reach out to us."
735
  msgstr ""
 
 
736
 
737
+ #: themes/default/SQ_BlockAccount.php:14
738
+ msgid ""
739
+ "If you wouldn’t mind, I’d love it if you answered one quick question: why "
740
+ "did you sign up for Squirrly?"
741
+ msgstr ""
742
+
743
+ #: themes/default/SQ_BlockAccount.php:18
744
+ #, fuzzy
745
+ msgid "[stop showing this message]"
746
+ msgstr "u afisa aceasta pagina"
747
+
748
+ #: themes/default/SQ_BlockAccount.php:18
749
+ msgid "Send Reply"
750
+ msgstr ""
751
+
752
+ #: themes/default/SQ_BlockAccount.php:34 themes/default/SQ_Menu.php:7
753
+ #, fuzzy
754
+ msgid "Go to dashboard"
755
+ msgstr "dashboard"
756
+
757
+ #: themes/default/SQ_BlockAffiliate.php:5
758
+ #: themes/default/SQ_BlockAffiliate.php:16
759
+ msgid "Join Squirrly today!"
760
+ msgstr "Alatura-te lui Squirrly!"
761
 
762
+ #: themes/default/SQ_BlockAffiliate.php:17
763
+ #, php-format
764
+ msgid "%sHow I Started Making Money With the Squirrly Affiliate Program%s"
765
+ msgstr ""
766
+
767
+ #: themes/default/SQ_BlockAffiliate.php:20
768
  msgid "Affiliate Benefits"
769
  msgstr "Beneficii afiliere"
770
 
771
+ #: themes/default/SQ_BlockAffiliate.php:25
772
  #, php-format
773
  msgid "- Recurring 45%s commission"
774
  msgstr "- Comision 45%s din abonament"
775
 
776
+ #: themes/default/SQ_BlockAffiliate.php:30
777
  msgid "- No cost"
778
  msgstr "- Fara costuri"
779
 
780
+ #: themes/default/SQ_BlockAffiliate.php:35
781
  msgid "- Monthly payments in your Paypal account"
782
  msgstr "- Platy lunare in contul tau de Paypal"
783
 
784
+ #: themes/default/SQ_BlockAffiliate.php:46
785
+ msgid ""
786
+ "To redirect users to your site, just change \"squirrly.co\" with your domain."
787
+ msgstr ""
788
+ "Pentru a redirecta userii spre site-ul tau, schimba doar \"squirrly.co\" cu "
789
+ "domeniul tau"
790
+
791
+ #: themes/default/SQ_BlockAffiliate.php:48
792
+ msgid "Generate affiliate link"
793
+ msgstr "Generare link de afiliat"
794
+
795
+ #: themes/default/SQ_BlockAffiliate.php:56
796
  msgid ""
797
  "Your affiliate account is set and ready to go. Above you have the affiliate "
798
  "link. "
799
  msgstr ""
800
  "Linkul tau de afiliere e gata. Mai sus aveti link-ul care il puteti folosi"
801
 
802
+ #: themes/default/SQ_BlockAffiliate.php:58
803
  #, php-format
804
  msgid "Check your affiliate page: %sAffiliate page%s"
805
  msgstr "Verifica pagina ta de afiliat: %sAffiliate page%s"
806
 
807
+ #: themes/default/SQ_BlockAffiliate.php:60
808
  #, php-format
809
  msgid "%sTerms of Use for our Affiliate Program%s"
810
  msgstr "%sTermeni si conditii de afiliere%s"
811
 
812
+ #: themes/default/SQ_BlockAffiliate.php:63
813
  msgid ""
814
  "After you connect to Squirrly you can begin to use your free Squirrly "
815
  "affiliate link immediately!"
817
  "Dupa ce te conectezi la Squirrly vei putea incepe sa folosesti link-ul tau "
818
  "de afiliat"
819
 
820
+ #: themes/default/SQ_BlockAffiliate.php:72
821
  msgid "Squirrly banners you can use"
822
  msgstr "Bannere Squirrly"
823
 
824
+ #: themes/default/SQ_BlockAffiliate.php:96
825
+ msgid "Go to settings"
826
+ msgstr "Mergi la setari"
 
827
 
828
+ #: themes/default/SQ_BlockAffiliate.php:97
829
  msgid "See dashboard"
830
  msgstr "Vezi Dashboard"
831
 
832
+ #: themes/default/SQ_BlockAffiliate.php:100 themes/default/SQ_BlockHelp.php:34
833
+ msgid "<< START HERE >>"
834
+ msgstr ""
 
 
 
 
 
835
 
836
+ #: themes/default/SQ_BlockAnalytics.php:53
837
+ msgid "Moz Inbound Links"
838
+ msgstr ""
839
 
840
+ #: themes/default/SQ_BlockAnalytics.php:64
841
+ msgid "Moz Authority"
842
+ msgstr ""
843
 
844
+ #: themes/default/SQ_BlockAnalytics.php:69
845
+ msgid "Moz Rank"
846
+ msgstr ""
847
 
848
+ #: themes/default/SQ_BlockAnalytics.php:76
849
+ #, fuzzy
850
+ msgid "Google Page Rank"
851
+ msgstr "URL Google Plus:"
852
 
853
+ #: themes/default/SQ_BlockAnalytics.php:83
854
+ #, fuzzy
855
+ msgid "Squirrly Audit Score"
856
+ msgstr "Squirrly article rank"
857
 
858
+ #: themes/default/SQ_BlockAnalytics.php:99
859
+ msgid "Facebook shares"
 
 
 
860
  msgstr ""
 
 
 
861
 
862
+ #: themes/default/SQ_BlockAnalytics.php:104
863
+ msgid "Facebook likes"
 
 
 
864
  msgstr ""
 
 
 
865
 
866
+ #: themes/default/SQ_BlockAnalytics.php:109
867
+ #, fuzzy
868
+ msgid "Twitter shares"
869
+ msgstr "Twitter"
870
+
871
+ #: themes/default/SQ_BlockAnalytics.php:114
872
+ #, fuzzy
873
+ msgid "Google+ shares"
874
+ msgstr "Rezultate Google pentru:"
875
+
876
+ #: themes/default/SQ_BlockAnalytics.php:119
877
+ msgid "LinkedIn Shares"
878
  msgstr ""
 
 
879
 
880
+ #: themes/default/SQ_BlockAnalytics.php:124
881
+ msgid "StumbleUpon shares"
882
+ msgstr ""
883
+
884
+ #: themes/default/SQ_BlockAnalytics.php:129
885
+ msgid "Reddit shares"
886
+ msgstr ""
887
+
888
+ #: themes/default/SQ_BlockAnalytics.php:161
889
+ msgid "Nicely done! Now you can focus on the other tasks"
890
  msgstr ""
 
 
891
 
892
+ #: themes/default/SQ_BlockAnalytics.php:161
893
  msgid ""
894
+ "I know you can improve this. Please follow the documentation for a quicker "
895
+ "progress"
896
+ msgstr ""
897
+
898
+ #: themes/default/SQ_BlockAnalytics.php:247
899
+ #, fuzzy
900
+ msgid "Current: "
901
+ msgstr "Pozitia curenta"
902
+
903
+ #: themes/default/SQ_BlockAnalytics.php:248
904
+ msgid "Lowest: "
905
  msgstr ""
 
 
906
 
907
+ #: themes/default/SQ_BlockAnalytics.php:249
908
+ msgid "Highest: "
909
+ msgstr ""
910
 
911
+ #: themes/default/SQ_BlockAnalytics.php:253
912
+ #, fuzzy
913
+ msgid "last 30 days"
914
+ msgstr "Ultimele 30 zile"
915
 
916
+ #: themes/default/SQ_BlockAudit.php:2
917
  msgid ""
918
+ "Your site audit is not yet ready. It may take up to 7 days to audit your "
919
+ "blog."
920
  msgstr ""
 
 
921
 
922
+ #: themes/default/SQ_BlockDashboard.php:3
923
+ msgid "Squirrly dashboard"
924
+ msgstr "Dashboard Squirrly"
925
+
926
+ #: themes/default/SQ_BlockDashboard.php:4
927
  msgid ""
928
+ "from this menu, you can start using all the great features of Squirrly (that "
929
+ "you won’t find in any other seo plugins for wordpress)"
930
  msgstr ""
 
931
 
932
+ #: themes/default/SQ_BlockDashboard.php:43
933
  msgid ""
934
+ "To see the analytics for your posts, you have to start optimizing your "
935
+ "articles using Squirrly. That will enable tracking, and we'll be able to "
936
+ "send you valuable data about your post."
937
  msgstr ""
 
 
938
 
939
+ #: themes/default/SQ_BlockHelp.php:3
940
+ #, fuzzy
941
+ msgid "Connect to Squirrly.co"
942
+ msgstr "Inregistreaza-te la Squirrly.co"
943
+
944
+ #: themes/default/SQ_BlockHelp.php:25
945
  msgid ""
946
+ "Get Excellent SEO with Better Content and SEO Stats. For Both Humans and "
947
+ "Search Bots."
948
+ msgstr ""
949
+
950
+ #: themes/default/SQ_BlockHelp.php:28
951
+ msgid "Squirrly SEO Plugin is for the NON-SEO expert. "
952
+ msgstr ""
953
+
954
+ #: themes/default/SQ_BlockHelp.php:29
955
+ #, fuzzy
956
+ msgid "See all the Squirrly SEO features at: "
957
+ msgstr "Ai nevoie de ajutor cu Squirrly SEO?"
958
+
959
+ #: themes/default/SQ_BlockHelp.php:32
960
+ msgid "Connect to Squirrly and start optimizing your site"
961
  msgstr ""
 
 
962
 
963
+ #: themes/default/SQ_BlockPostsAnalytics.php:3
964
+ #, fuzzy
965
+ msgid "Squirrly Analytics"
966
+ msgstr "Optiuni Squirrly"
967
 
968
+ #: themes/default/SQ_BlockPostsAnalytics.php:4
969
  msgid ""
970
+ "Don't see all your pages here? Make sure you optimize them with Squirrly, so "
971
+ "that we can track them, and display you the analytics"
 
972
  msgstr ""
 
 
 
973
 
974
+ #: themes/default/SQ_BlockPostsAnalytics.php:5
975
+ msgid ""
976
+ "If you recheck the google rank, let 10-20 seconds between requests to "
977
+ "prevent google to block your IP for an hour."
978
+ msgstr ""
979
+
980
+ #: themes/default/SQ_BlockSupport.php:7
981
+ msgid "Go to Profile"
982
+ msgstr "Profilul tau din Squirrly"
983
+
984
+ #: themes/default/SQ_BlockSupport.php:7
985
+ msgid "Profile"
986
+ msgstr "Profil"
987
+
988
+ #: themes/default/SQ_BlockSupport.php:17
989
+ msgid "Support"
990
+ msgstr "Suport"
991
+
992
+ #: themes/default/SQ_BlockSupport.php:20
993
+ msgid "Need Help with Squirrly SEO?"
994
+ msgstr "Ai nevoie de ajutor cu Squirrly SEO?"
995
+
996
+ #: themes/default/SQ_BlockSupport.php:24
997
+ msgid "Send Question"
998
+ msgstr "Trimite"
999
+
1000
+ #: themes/default/SQ_BlockSupport.php:27 themes/default/SQ_BlockSupport.php:68
1001
+ msgid "Go to:"
1002
+ msgstr "Mergi la:"
1003
+
1004
+ #: themes/default/SQ_BlockSupport.php:27 themes/default/SQ_BlockSupport.php:68
1005
+ msgid "support page"
1006
+ msgstr "pagina suport"
1007
+
1008
+ #: themes/default/SQ_BlockSupport.php:39
1009
+ msgid "How was your Squirrly experience today?"
1010
+ msgstr "Cum a fost experienta de azi cu Squirrly?"
1011
+
1012
+ #: themes/default/SQ_BlockSupport.php:48
1013
+ msgid "How was Squirrly today?"
1014
+ msgstr "Cum a fost Squirrly azi?"
1015
+
1016
+ #: themes/default/SQ_BlockSupport.php:52
1017
+ msgid "Angry"
1018
+ msgstr ""
1019
+
1020
+ #: themes/default/SQ_BlockSupport.php:53
1021
+ msgid "Sad"
1022
+ msgstr ""
1023
+
1024
+ #: themes/default/SQ_BlockSupport.php:54
1025
+ msgid "Happy"
1026
+ msgstr ""
1027
+
1028
+ #: themes/default/SQ_BlockSupport.php:55
1029
+ msgid "Excited"
1030
+ msgstr ""
1031
+
1032
+ #: themes/default/SQ_BlockSupport.php:56
1033
+ msgid "Love it"
1034
+ msgstr ""
1035
+
1036
+ #: themes/default/SQ_BlockSupport.php:61
1037
+ msgid "Please tell us why?"
1038
+ msgstr "De ce?"
1039
+
1040
+ #: themes/default/SQ_BlockSupport.php:64
1041
+ msgid "Send feedback"
1042
+ msgstr "Trimite"
1043
+
1044
+ #: themes/default/SQ_BlockSupport.php:73
1045
+ msgid "Thank you! You can send us a happy face tomorow too."
1046
+ msgstr "Multumim! Ne poti trimite o fata vesela si maine."
1047
 
1048
  #: themes/default/SQ_Blocklogin.php:2
1049
  msgid "Squirrly.co Login"
1113
  msgid "Connecting ..."
1114
  msgstr "Conectare ..."
1115
 
1116
+ #: themes/default/SQ_Blocklogin.php:42
1117
  msgid "Congratulations! Now write a new article with:"
1118
  msgstr "Felicitari! Acum scrie un nou articol cu:"
1119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1120
  #: themes/default/SQ_Blockresearch.php:2
1121
  msgid "Squirrly Keyword Research"
1122
  msgstr " Cercetare cuvinte cheie"
1129
  msgid "Keyword:"
1130
  msgstr "Cuvant cheie:"
1131
 
1132
+ #: themes/default/SQ_Blockresearch.php:11 themes/default/SQ_Blocksearch.php:27
1133
  msgid "Use this keyword"
1134
  msgstr "Foloseste acest cuvant"
1135
 
1149
  msgid "Let some keywords for the next time as well!"
1150
  msgstr "Mai lasa cuvinte si pentru viitor!"
1151
 
1152
+ #: themes/default/SQ_Blocksearch.php:1
1153
+ msgid "Waiting for your editor to load .. "
1154
+ msgstr ""
1155
+
1156
  #: themes/default/SQ_Blocksearch.php:3
1157
  msgid "Optimize for Keyword"
1158
  msgstr "Optimizare dupa cuvant cheie"
1159
 
1160
+ #: themes/default/SQ_Blocksearch.php:11
1161
  msgid "Enter a keyword"
1162
  msgstr "Adauga cuvant"
1163
 
1164
+ #: themes/default/SQ_Blocksearch.php:11
1165
  msgid "for Squirrly Live SEO optimization"
1166
  msgstr "Pentru optimizare cu Squirrly SEO"
1167
 
1168
+ #: themes/default/SQ_Blocksearch.php:26
1169
  msgid "Do a research"
1170
  msgstr "Mai multe detalii"
1171
 
1172
+ #: themes/default/SQ_Blocksearch.php:31
1173
  msgid "Enter a keyword above!"
1174
  msgstr "Adauga cuvinte cheie mai sus!"
1175
 
1176
+ #: themes/default/SQ_Blocksearch.php:32
1177
  msgid "I have more then one keyword!"
1178
  msgstr "Am mai multe cuvinte!"
1179
 
1180
+ #: themes/default/SQ_Blocksearch.php:38
1181
  msgid "Images"
1182
  msgstr "Imagini"
1183
 
1184
+ #: themes/default/SQ_Blocksearch.php:39
1185
  msgid "Twitter"
1186
  msgstr "Twitter"
1187
 
1188
+ #: themes/default/SQ_Blocksearch.php:40
1189
  msgid "Wiki"
1190
  msgstr "Wiki"
1191
 
1192
+ #: themes/default/SQ_Blocksearch.php:41
1193
  msgid "News"
1194
  msgstr "News"
1195
 
1196
+ #: themes/default/SQ_Blocksearch.php:42
1197
  msgid "Blogs"
1198
  msgstr "Bloguri"
1199
 
1200
+ #: themes/default/SQ_Blocksearch.php:43
1201
  msgid "My articles"
1202
  msgstr "Articolele mele"
1203
 
1204
+ #: themes/default/SQ_Blocksearch.php:48
1205
  msgid "Show only Copyright Free images"
1206
  msgstr "Arata doar imagini fara copyright"
1207
 
1208
  #: themes/default/SQ_Blockseo.php:3
1209
+ #, fuzzy
1210
+ msgid "Squirrly SEO Live Assistant"
1211
  msgstr "Asistent SEO Live"
1212
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1213
  #: themes/default/SQ_Menu.php:4
1214
  msgid "Squirrly settings"
1215
  msgstr "Setari Squirrly"
1216
 
1217
+ #: themes/default/SQ_Menu.php:6 themes/default/SQ_Menu.php:515
1218
  msgid "Save settings"
1219
  msgstr "Salveaza setari"
1220
 
1221
+ #: themes/default/SQ_Menu.php:12
1222
  msgid "Let Squirrly automatically optimize my blog"
1223
  msgstr "Lasa Squirrly sa imi optimizeze blogul automat"
1224
 
1225
+ #: themes/default/SQ_Menu.php:13
1226
+ msgid ""
1227
+ "<strong>For SEO Setting you can use \"All In One SEO\", \"Wordpress SEO by "
1228
+ "Yoast\", or other such plugins.</strong>"
1229
+ msgstr ""
1230
+
1231
+ #: themes/default/SQ_Menu.php:15
1232
+ msgid ""
1233
+ "If you want, you can also use the built-in settings from Squirrly (useful "
1234
+ "for beginners), by switching Yes below."
1235
+ msgstr ""
1236
+
1237
+ #: themes/default/SQ_Menu.php:19 themes/default/SQ_Menu.php:38
1238
+ #: themes/default/SQ_Menu.php:55 themes/default/SQ_Menu.php:72
1239
+ #: themes/default/SQ_Menu.php:89 themes/default/SQ_Menu.php:122
1240
+ #: themes/default/SQ_Menu.php:139 themes/default/SQ_Menu.php:167
1241
+ #: themes/default/SQ_Menu.php:183 themes/default/SQ_Menu.php:259
1242
+ #: themes/default/SQ_Menu.php:270 themes/default/SQ_Menu.php:281
1243
+ #: themes/default/SQ_Menu.php:293 themes/default/SQ_Menu.php:304
1244
+ #: themes/default/SQ_Menu.php:424
1245
+ msgid "Yes"
1246
+ msgstr "Da"
1247
+
1248
+ #: themes/default/SQ_Menu.php:21 themes/default/SQ_Menu.php:40
1249
+ #: themes/default/SQ_Menu.php:57 themes/default/SQ_Menu.php:74
1250
+ #: themes/default/SQ_Menu.php:91 themes/default/SQ_Menu.php:124
1251
+ #: themes/default/SQ_Menu.php:141 themes/default/SQ_Menu.php:169
1252
+ #: themes/default/SQ_Menu.php:185 themes/default/SQ_Menu.php:261
1253
+ #: themes/default/SQ_Menu.php:272 themes/default/SQ_Menu.php:283
1254
+ #: themes/default/SQ_Menu.php:295 themes/default/SQ_Menu.php:306
1255
+ #: themes/default/SQ_Menu.php:426
1256
+ msgid "No"
1257
+ msgstr "Nu"
1258
+
1259
+ #: themes/default/SQ_Menu.php:28
1260
  msgid "What does Squirrly automatically do for SEO?"
1261
  msgstr "Ce face Squirrly in mod automat pentru SEO?"
1262
 
1263
+ #: themes/default/SQ_Menu.php:43
1264
+ #, php-format
1265
+ msgid ""
1266
+ "Add <strong>%scanonical link%s</strong>, <strong>%srel=\"prev\" and rel="
1267
+ "\"next\"%s</strong> metas"
1268
+ msgstr ""
1269
 
1270
+ #: themes/default/SQ_Menu.php:60
1271
+ #, fuzzy, php-format
1272
+ msgid "Add the <strong>%sXML Sitemap%s</strong> for search engines"
1273
  msgstr "Adauga <strong>Harta XML</strong> pentru motoarele de cautare"
1274
 
1275
+ #: themes/default/SQ_Menu.php:77
1276
  msgid ""
1277
  "Add the required METAs for home page (<strong>icon, author, language, dc "
1278
  "publisher</strong>, etc.)"
1280
  "Adauga cerintele META in pagina acasa (<strong>icon, author, language, dc "
1281
  "publisher</strong>, etc.)"
1282
 
1283
+ #: themes/default/SQ_Menu.php:94
1284
  msgid ""
1285
  "Add the <strong>favicon</strong> and the <strong>icon for Apple devices</"
1286
  "strong>."
1288
  "Adauga <strong>favicon</strong> si <strong>icoana pentru dispozitivele "
1289
  "Apple</strong>."
1290
 
1291
+ #: themes/default/SQ_Menu.php:104
1292
+ #, fuzzy
1293
+ msgid "Social Media Options"
1294
+ msgstr "Optiuni Squirrly"
1295
+
1296
+ #: themes/default/SQ_Menu.php:105
1297
+ #, php-format
1298
+ msgid "%sHow to pop out in Social Media with your links%s"
1299
+ msgstr ""
1300
+
1301
+ #: themes/default/SQ_Menu.php:106
1302
+ #, php-format
1303
+ msgid "%sGet busy with Facebook’s new Search Engine functions%s"
1304
+ msgstr ""
1305
+
1306
+ #: themes/default/SQ_Menu.php:107
1307
+ #, php-format
1308
+ msgid ""
1309
+ "%sHow I Added Twitter Cards in My WordPress for Better Inbound Marketing%s"
1310
+ msgstr ""
1311
+
1312
+ #: themes/default/SQ_Menu.php:112
1313
+ #, fuzzy
1314
+ msgid "What does Squirrly automatically do for Social Media?"
1315
+ msgstr "Ce face Squirrly in mod automat pentru SEO?"
1316
+
1317
+ #: themes/default/SQ_Menu.php:127
1318
+ #, fuzzy
1319
  msgid ""
1320
+ "Add the <strong>Social Open Graph objects</strong> for a good looking share. "
1321
  msgstr ""
1322
  "Adauga <strong>Facebook meta objects</strong> pentru o afisare mai frumoasa "
1323
  "in Facebook"
1324
 
1325
+ #: themes/default/SQ_Menu.php:144
1326
  msgid "Add the <strong>Twitter card</strong> in your tweets. "
1327
  msgstr "Adauga <strong>titlul</strong> corect in pagina acasa"
1328
 
1329
+ #: themes/default/SQ_Menu.php:147
1330
  msgid "Your twitter account: "
1331
  msgstr "Contul tau de twitter:"
1332
 
1333
+ #: themes/default/SQ_Menu.php:155
1334
+ #, fuzzy
1335
+ msgid "First page optimization"
1336
+ msgstr "Optimizare cu Squirrly SEO"
1337
+
1338
+ #: themes/default/SQ_Menu.php:156
1339
+ #, php-format
1340
+ msgid "%sThe best SEO approach to Meta information%s"
1341
+ msgstr ""
1342
 
1343
+ #: themes/default/SQ_Menu.php:158
1344
+ #, fuzzy
1345
+ msgid "Add meta <strong>title</strong> in Home Page"
1346
  msgstr "Adauga <strong>titlul</strong> corect in pagina acasa"
1347
 
1348
  #: themes/default/SQ_Menu.php:174
1349
+ #, fuzzy
1350
  msgid ""
1351
+ "Add meta <strong>description</strong> and <strong>keywords</strong> in Home "
1352
+ "Page"
1353
  msgstr ""
1354
  "Aadauga <strong>descrierea</strong> si <strong>cuvintele cheie</strong> "
1355
  "corecte in prima pagina"
1356
 
1357
+ #: themes/default/SQ_Menu.php:216
 
 
 
 
 
 
 
 
 
 
 
 
1358
  msgid "Title:"
1359
  msgstr "Titlu:"
1360
 
1361
+ #: themes/default/SQ_Menu.php:217
1362
  msgid "Tips: Length 10-75 chars"
1363
  msgstr "Atentie: Lungimea 10-75 caractere"
1364
 
1365
+ #: themes/default/SQ_Menu.php:220
1366
  msgid "Description:"
1367
  msgstr "Descrierea:"
1368
 
1369
+ #: themes/default/SQ_Menu.php:221
1370
  msgid "Tips: Length 70-165 chars"
1371
  msgstr "Atentie: Lungimea 70-165 caractere"
1372
 
1373
+ #: themes/default/SQ_Menu.php:224
1374
  msgid "Keywords:"
1375
  msgstr "Cuvinte cheie:"
1376
 
1377
+ #: themes/default/SQ_Menu.php:225
1378
  msgid "Tips: 2-4 keywords"
1379
  msgstr "Atentie: 2-4 cuvinte cheie"
1380
 
1381
+ #: themes/default/SQ_Menu.php:229
1382
+ #, fuzzy
1383
+ msgid "You First Page Preview (Title, Description, Keywords)"
1384
+ msgstr "Optimizare prima pagina (Titlu, Descriere, Cuvinte cheie)"
1385
+
1386
+ #: themes/default/SQ_Menu.php:237
1387
  msgid "Check with google ..."
1388
  msgstr "Verificat cu google ..."
1389
 
1390
+ #: themes/default/SQ_Menu.php:240
1391
  msgid ""
1392
  "If you don't see any changes in custom optimization, check if another SEO "
1393
  "plugin affects Squirrly SEO"
1395
  "Daca nu sunt modificari in titlu prin aceasta optimizate, verifica daca nu e "
1396
  "afectat de alte pluginuri instalate."
1397
 
1398
+ #: themes/default/SQ_Menu.php:246
1399
  msgid "Squirrly Options"
1400
  msgstr "Optiuni Squirrly"
1401
 
1402
+ #: themes/default/SQ_Menu.php:247
1403
+ #, php-format
1404
+ msgid "%sThe right premises in working with Squirrly, WordPress SEO plugin%s"
1405
+ msgstr ""
1406
+
1407
+ #: themes/default/SQ_Menu.php:248
1408
+ #, php-format
1409
+ msgid "%sGetting inspired with Squirrly WordPress SEO plugin%s"
1410
+ msgstr ""
1411
+
1412
+ #: themes/default/SQ_Menu.php:250
1413
+ #, php-format
1414
+ msgid "%sThere is a New SEO Live Assistant from Squirrly%s"
1415
+ msgstr ""
1416
+
1417
+ #: themes/default/SQ_Menu.php:251
1418
+ #, php-format
1419
+ msgid "%sHow to create Human friendly content with the WordPress SEO plugin?%s"
1420
+ msgstr ""
1421
+
1422
+ #: themes/default/SQ_Menu.php:264
1423
  msgid "Let Squirrly warn me if there are errors related to SEO settings"
1424
  msgstr "Lasa Squirrly sa ma anunte daca sunt erori SEO in setari"
1425
 
1426
+ #: themes/default/SQ_Menu.php:275
1427
  msgid ""
1428
  "Show <strong>\"Enter a keyword\"</strong> bubble when posting a new article."
1429
  msgstr ""
1430
  "Afiseaza balonul <strong>\"Adauga un keyword\"</strong>cand se posteaza un "
1431
  "nou articol."
1432
 
1433
+ #: themes/default/SQ_Menu.php:286
1434
  msgid ""
1435
  "Always show <strong>Keyword Informations</strong> about the selected keyword."
1436
  msgstr ""
1437
  "Afiseaza <strong>Informatii de cuvint cheie</strong> dupa alegerea "
1438
  "cuvantului la postare."
1439
 
1440
+ #: themes/default/SQ_Menu.php:298
1441
+ msgid "Use <strong> the NEW version of the SEO Live Assistant</strong>."
1442
+ msgstr ""
1443
 
1444
+ #: themes/default/SQ_Menu.php:309
1445
+ msgid "Add the Post tags in meta keyword."
1446
+ msgstr ""
1447
 
1448
+ #: themes/default/SQ_Menu.php:315
1449
+ msgid ""
1450
+ "Select the google extension for which Squirrly will check the google rank"
1451
+ msgstr ""
1452
 
1453
+ #: themes/default/SQ_Menu.php:319
1454
+ msgid "Default"
1455
+ msgstr ""
1456
 
1457
+ #: themes/default/SQ_Menu.php:320
1458
+ msgid "American Samoa"
 
 
 
1459
  msgstr ""
 
 
1460
 
1461
+ #: themes/default/SQ_Menu.php:321
1462
+ msgid "Anguilla"
 
 
1463
  msgstr ""
 
 
1464
 
1465
+ #: themes/default/SQ_Menu.php:322
1466
+ msgid "Antigua and Barbuda"
1467
+ msgstr ""
1468
 
1469
+ #: themes/default/SQ_Menu.php:323
1470
+ msgid "Argentina"
1471
+ msgstr ""
1472
 
1473
+ #: themes/default/SQ_Menu.php:324
1474
+ msgid "Australia"
1475
+ msgstr ""
 
1476
 
1477
+ #: themes/default/SQ_Menu.php:325
1478
+ msgid "Austria"
1479
+ msgstr ""
 
1480
 
1481
+ #: themes/default/SQ_Menu.php:326
1482
+ msgid "Azerbaijan"
1483
+ msgstr ""
 
1484
 
1485
+ #: themes/default/SQ_Menu.php:327
1486
+ msgid "Belgium"
1487
+ msgstr ""
 
1488
 
1489
+ #: themes/default/SQ_Menu.php:328
1490
+ msgid "Brazil"
1491
+ msgstr ""
1492
 
1493
+ #: themes/default/SQ_Menu.php:329
1494
+ msgid "British Virgin Islands"
1495
+ msgstr ""
1496
 
1497
+ #: themes/default/SQ_Menu.php:330
1498
+ msgid "Burundi"
1499
+ msgstr ""
1500
 
1501
+ #: themes/default/SQ_Menu.php:331
1502
+ msgid "Canada"
1503
+ msgstr ""
1504
 
1505
+ #: themes/default/SQ_Menu.php:332
1506
+ msgid "Chad"
1507
+ msgstr ""
1508
+
1509
+ #: themes/default/SQ_Menu.php:333
1510
+ msgid "Chile"
1511
+ msgstr ""
1512
+
1513
+ #: themes/default/SQ_Menu.php:334
1514
+ msgid "Colombia"
1515
+ msgstr ""
1516
+
1517
+ #: themes/default/SQ_Menu.php:335
1518
+ msgid "Costa Rica"
1519
+ msgstr ""
1520
 
1521
+ #: themes/default/SQ_Menu.php:336
1522
+ msgid "Côte d'Ivoire"
1523
+ msgstr ""
1524
+
1525
+ #: themes/default/SQ_Menu.php:337
1526
+ msgid "Cuba"
1527
+ msgstr ""
1528
+
1529
+ #: themes/default/SQ_Menu.php:338
1530
+ msgid "Czech Republic"
1531
+ msgstr ""
1532
+
1533
+ #: themes/default/SQ_Menu.php:339
1534
+ msgid "Dem. Rep. of the Congo"
1535
+ msgstr ""
1536
+
1537
+ #: themes/default/SQ_Menu.php:340
1538
+ msgid "Denmark"
1539
+ msgstr ""
1540
+
1541
+ #: themes/default/SQ_Menu.php:341
1542
+ msgid "Djibouti"
1543
+ msgstr ""
1544
+
1545
+ #: themes/default/SQ_Menu.php:342
1546
+ msgid "Dominican Republic"
1547
+ msgstr ""
1548
+
1549
+ #: themes/default/SQ_Menu.php:343
1550
+ msgid "Ecuador"
1551
+ msgstr ""
1552
+
1553
+ #: themes/default/SQ_Menu.php:344
1554
+ msgid "El Salvador"
1555
+ msgstr ""
1556
+
1557
+ #: themes/default/SQ_Menu.php:345
1558
+ msgid "Federated States of Micronesia"
1559
+ msgstr ""
1560
+
1561
+ #: themes/default/SQ_Menu.php:346
1562
+ msgid "Fiji"
1563
+ msgstr ""
1564
+
1565
+ #: themes/default/SQ_Menu.php:347
1566
+ msgid "Finland"
1567
+ msgstr ""
1568
+
1569
+ #: themes/default/SQ_Menu.php:348
1570
+ #, fuzzy
1571
+ msgid "France"
1572
+ msgstr "Renunta"
1573
+
1574
+ #: themes/default/SQ_Menu.php:349
1575
+ msgid "The Gambia"
1576
+ msgstr ""
1577
+
1578
+ #: themes/default/SQ_Menu.php:350
1579
+ msgid "Georgia"
1580
+ msgstr ""
1581
+
1582
+ #: themes/default/SQ_Menu.php:351
1583
+ msgid "Germany"
1584
+ msgstr ""
1585
+
1586
+ #: themes/default/SQ_Menu.php:352
1587
+ msgid "Gibraltar"
1588
+ msgstr ""
1589
+
1590
+ #: themes/default/SQ_Menu.php:353
1591
+ msgid "Greece"
1592
+ msgstr ""
1593
+
1594
+ #: themes/default/SQ_Menu.php:354
1595
+ msgid "Greenland"
1596
+ msgstr ""
1597
+
1598
+ #: themes/default/SQ_Menu.php:355
1599
+ msgid "Guernsey"
1600
+ msgstr ""
1601
+
1602
+ #: themes/default/SQ_Menu.php:356
1603
+ msgid "Honduras"
1604
+ msgstr ""
1605
+
1606
+ #: themes/default/SQ_Menu.php:357
1607
+ msgid "Hong Kong"
1608
+ msgstr ""
1609
+
1610
+ #: themes/default/SQ_Menu.php:358
1611
+ msgid "Hungary"
1612
+ msgstr ""
1613
+
1614
+ #: themes/default/SQ_Menu.php:359
1615
+ msgid "India"
1616
+ msgstr ""
1617
+
1618
+ #: themes/default/SQ_Menu.php:360
1619
+ msgid "Ireland"
1620
+ msgstr ""
1621
+
1622
+ #: themes/default/SQ_Menu.php:361
1623
+ msgid "Isle of Man"
1624
+ msgstr ""
1625
+
1626
+ #: themes/default/SQ_Menu.php:362
1627
+ msgid "Israel"
1628
+ msgstr ""
1629
+
1630
+ #: themes/default/SQ_Menu.php:363
1631
+ msgid "Italy"
1632
+ msgstr ""
1633
+
1634
+ #: themes/default/SQ_Menu.php:364
1635
+ msgid "Jamaica"
1636
+ msgstr ""
1637
+
1638
+ #: themes/default/SQ_Menu.php:365
1639
+ msgid "Japan"
1640
+ msgstr ""
1641
+
1642
+ #: themes/default/SQ_Menu.php:366
1643
+ msgid "Jersey"
1644
+ msgstr ""
1645
+
1646
+ #: themes/default/SQ_Menu.php:367
1647
+ msgid "Kazakhstan"
1648
+ msgstr ""
1649
+
1650
+ #: themes/default/SQ_Menu.php:368
1651
+ msgid "Korea"
1652
+ msgstr ""
1653
+
1654
+ #: themes/default/SQ_Menu.php:369
1655
+ msgid "Latvia"
1656
+ msgstr ""
1657
+
1658
+ #: themes/default/SQ_Menu.php:370
1659
+ msgid "Lesotho"
1660
+ msgstr ""
1661
+
1662
+ #: themes/default/SQ_Menu.php:371
1663
+ msgid "Liechtenstein"
1664
+ msgstr ""
1665
+
1666
+ #: themes/default/SQ_Menu.php:372
1667
+ msgid "Lithuania"
1668
+ msgstr ""
1669
+
1670
+ #: themes/default/SQ_Menu.php:373
1671
+ msgid "Luxembourg"
1672
+ msgstr ""
1673
+
1674
+ #: themes/default/SQ_Menu.php:374
1675
+ msgid "Malawi"
1676
+ msgstr ""
1677
+
1678
+ #: themes/default/SQ_Menu.php:375
1679
+ msgid "Malaysia"
1680
+ msgstr ""
1681
+
1682
+ #: themes/default/SQ_Menu.php:376
1683
+ msgid "Malta"
1684
+ msgstr ""
1685
+
1686
+ #: themes/default/SQ_Menu.php:377
1687
+ msgid "Mauritius"
1688
+ msgstr ""
1689
+
1690
+ #: themes/default/SQ_Menu.php:378
1691
+ msgid "México"
1692
+ msgstr ""
1693
+
1694
+ #: themes/default/SQ_Menu.php:379
1695
+ msgid "Montserrat"
1696
+ msgstr ""
1697
+
1698
+ #: themes/default/SQ_Menu.php:380
1699
+ msgid "Namibia"
1700
+ msgstr ""
1701
+
1702
+ #: themes/default/SQ_Menu.php:381
1703
+ msgid "Nepal"
1704
+ msgstr ""
1705
+
1706
+ #: themes/default/SQ_Menu.php:382
1707
+ msgid "Netherlands"
1708
+ msgstr ""
1709
+
1710
+ #: themes/default/SQ_Menu.php:383
1711
+ msgid "New Zealand"
1712
+ msgstr ""
1713
+
1714
+ #: themes/default/SQ_Menu.php:384
1715
+ msgid "Nicaragua"
1716
+ msgstr ""
1717
+
1718
+ #: themes/default/SQ_Menu.php:385
1719
+ msgid "Norfolk Island"
1720
+ msgstr ""
1721
+
1722
+ #: themes/default/SQ_Menu.php:386
1723
+ msgid "Pakistan"
1724
+ msgstr ""
1725
+
1726
+ #: themes/default/SQ_Menu.php:387
1727
+ msgid "Panamá"
1728
+ msgstr ""
1729
+
1730
+ #: themes/default/SQ_Menu.php:388
1731
+ msgid "Paraguay"
1732
+ msgstr ""
1733
+
1734
+ #: themes/default/SQ_Menu.php:389
1735
+ msgid "Perú"
1736
+ msgstr ""
1737
+
1738
+ #: themes/default/SQ_Menu.php:390
1739
+ msgid "Philippines"
1740
+ msgstr ""
1741
+
1742
+ #: themes/default/SQ_Menu.php:391
1743
+ msgid "Pitcairn Islands"
1744
+ msgstr ""
1745
+
1746
+ #: themes/default/SQ_Menu.php:392
1747
+ msgid "Poland"
1748
+ msgstr ""
1749
+
1750
+ #: themes/default/SQ_Menu.php:393
1751
+ msgid "Portugal"
1752
+ msgstr ""
1753
+
1754
+ #: themes/default/SQ_Menu.php:394
1755
+ msgid "Puerto Rico"
1756
+ msgstr ""
1757
+
1758
+ #: themes/default/SQ_Menu.php:395
1759
+ msgid "Rep. of the Congo"
1760
+ msgstr ""
1761
+
1762
+ #: themes/default/SQ_Menu.php:396
1763
+ msgid "Romania"
1764
+ msgstr ""
1765
+
1766
+ #: themes/default/SQ_Menu.php:397
1767
+ msgid "Russia"
1768
+ msgstr ""
1769
+
1770
+ #: themes/default/SQ_Menu.php:398
1771
+ msgid "Rwanda"
1772
+ msgstr ""
1773
+
1774
+ #: themes/default/SQ_Menu.php:399
1775
+ msgid "Saint Helena"
1776
+ msgstr ""
1777
+
1778
+ #: themes/default/SQ_Menu.php:400
1779
+ msgid "San Marino"
1780
+ msgstr ""
1781
+
1782
+ #: themes/default/SQ_Menu.php:401
1783
+ msgid "Singapore"
1784
+ msgstr ""
1785
+
1786
+ #: themes/default/SQ_Menu.php:402
1787
+ msgid "Slovakia"
1788
+ msgstr ""
1789
+
1790
+ #: themes/default/SQ_Menu.php:403
1791
+ msgid "South Africa"
1792
+ msgstr ""
1793
+
1794
+ #: themes/default/SQ_Menu.php:404
1795
+ msgid "Spain"
1796
+ msgstr ""
1797
+
1798
+ #: themes/default/SQ_Menu.php:405
1799
+ msgid "Sweden"
1800
+ msgstr ""
1801
+
1802
+ #: themes/default/SQ_Menu.php:406
1803
+ msgid "Switzerland"
1804
+ msgstr ""
1805
+
1806
+ #: themes/default/SQ_Menu.php:407
1807
+ msgid "Taiwan"
1808
+ msgstr ""
1809
+
1810
+ #: themes/default/SQ_Menu.php:408
1811
+ msgid "Thailand"
1812
+ msgstr ""
1813
+
1814
+ #: themes/default/SQ_Menu.php:409
1815
+ msgid "Trinidad and Tobago"
1816
+ msgstr ""
1817
+
1818
+ #: themes/default/SQ_Menu.php:410
1819
+ msgid "Turkey"
1820
+ msgstr ""
1821
+
1822
+ #: themes/default/SQ_Menu.php:411
1823
+ msgid "Ukraine"
1824
+ msgstr ""
1825
+
1826
+ #: themes/default/SQ_Menu.php:412
1827
+ msgid "United Arab Emirates"
1828
+ msgstr ""
1829
+
1830
+ #: themes/default/SQ_Menu.php:413
1831
+ msgid "United Kingdom"
1832
+ msgstr ""
1833
+
1834
+ #: themes/default/SQ_Menu.php:414
1835
+ msgid "Uruguay"
1836
+ msgstr ""
1837
+
1838
+ #: themes/default/SQ_Menu.php:415
1839
+ msgid "Uzbekistan"
1840
+ msgstr ""
1841
+
1842
+ #: themes/default/SQ_Menu.php:416
1843
+ msgid "Vanuatu"
1844
+ msgstr ""
1845
+
1846
+ #: themes/default/SQ_Menu.php:417
1847
+ msgid "Venezuela"
1848
+ msgstr ""
1849
+
1850
+ #: themes/default/SQ_Menu.php:429
1851
+ msgid ""
1852
+ "Restricts search results to results originating in the above particular "
1853
+ "country."
1854
+ msgstr ""
1855
+
1856
+ #: themes/default/SQ_Menu.php:438
1857
+ msgid "Change the Website Icon"
1858
+ msgstr "Schimba icoana site-ului"
1859
+
1860
+ #: themes/default/SQ_Menu.php:439
1861
+ msgid ""
1862
+ "Now even the tablets and smartphone browsers also make use of your icons. "
1863
+ "This has led to an increasesd importance to having a good favicon."
1864
+ msgstr ""
1865
+
1866
+ #: themes/default/SQ_Menu.php:440
1867
+ #, php-format
1868
+ msgid ""
1869
+ "You can use %shttp://convertico.com/%s to convert your photo to icon and "
1870
+ "upload it here after that."
1871
+ msgstr ""
1872
+ "Poti folosi %shttp://convertico.com/%s pentru a converti imaginea in icoana "
1873
+ "si poti incarca icoana aici"
1874
+
1875
+ #: themes/default/SQ_Menu.php:445
1876
+ msgid "File types: JPG, JPEG, GIF and PNG."
1877
+ msgstr "Tip fisiere JPEG,JPG,GIF sau PNG "
1878
+
1879
+ #: themes/default/SQ_Menu.php:449
1880
+ msgid "Upload file:"
1881
+ msgstr "Urca fisier:"
1882
+
1883
+ #: themes/default/SQ_Menu.php:454
1884
+ msgid "Upload"
1885
+ msgstr "Upload"
1886
+
1887
+ #: themes/default/SQ_Menu.php:458
1888
+ msgid ""
1889
+ "If you don't see the new icon in your browser, empty the browser cache and "
1890
+ "refresh the page."
1891
+ msgstr ""
1892
+ "Daca nu vezi noua icoana in browser, goleste cache-ul din browser si da "
1893
+ "refresh la pagina."
1894
+
1895
+ #: themes/default/SQ_Menu.php:463
1896
+ msgid "Tracking Tools"
1897
+ msgstr ""
1898
+
1899
+ #: themes/default/SQ_Menu.php:464
1900
+ #, php-format
1901
+ msgid "%sLink your Google+ profile to the content you create%s"
1902
+ msgstr ""
1903
+
1904
+ #: themes/default/SQ_Menu.php:465
1905
+ #, php-format
1906
+ msgid ""
1907
+ "%sStarBox, the author box that’s pushing content marketing to the stars%s"
1908
+ msgstr ""
1909
+
1910
+ #: themes/default/SQ_Menu.php:466
1911
+ #, php-format
1912
+ msgid "%sHow to Get the Most Out of Google Analytics%s"
1913
+ msgstr ""
1914
+
1915
+ #: themes/default/SQ_Menu.php:467
1916
+ #, php-format
1917
+ msgid "%sA Beginner’s Guide to Facebook Insights%s"
1918
+ msgstr ""
1919
+
1920
+ #: themes/default/SQ_Menu.php:473
1921
+ msgid "Google Plus URL:"
1922
+ msgstr "URL Google Plus:"
1923
+
1924
+ #: themes/default/SQ_Menu.php:477
1925
+ #, fuzzy, php-format
1926
+ msgid "Google %sAnalytics ID%s:"
1927
+ msgstr "Google %sAnalytics ID%s:"
1928
+
1929
+ #: themes/default/SQ_Menu.php:481
1930
+ #, fuzzy, php-format
1931
+ msgid "Facebook META code (for %sInsights%s ):"
1932
+ msgstr "Facebook META code (pentru %sInsights%s):"
1933
+
1934
+ #: themes/default/SQ_Menu.php:485
1935
+ msgid "Pinterest META code:"
1936
+ msgstr ""
1937
+
1938
+ #: themes/default/SQ_Menu.php:491
1939
+ #, fuzzy
1940
+ msgid "Search Engines Tools"
1941
+ msgstr "Pentru motoare de cautare"
1942
+
1943
+ #: themes/default/SQ_Menu.php:492
1944
+ #, php-format
1945
+ msgid "%sBest practices to help Google find, crawl, and index your site%s"
1946
+ msgstr ""
1947
+
1948
+ #: themes/default/SQ_Menu.php:493
1949
+ #, php-format
1950
+ msgid "%sBing Webmaster Tools Help & How-To Center%s"
1951
+ msgstr ""
1952
+
1953
+ #: themes/default/SQ_Menu.php:499
1954
+ #, fuzzy, php-format
1955
+ msgid "Google META verification code for %sWebmaster Tool%s:"
1956
+ msgstr "Cod META pentru %sGoogle Webmaster Tool%s"
1957
+
1958
+ #: themes/default/SQ_Menu.php:503
1959
+ #, fuzzy, php-format
1960
+ msgid "Bing META code (for %sWebmaster Tool%s ):"
1961
+ msgstr "Bing META code (pentru %sWebmaster Tool%s):"
1962
+
1963
+ #: themes/default/SQ_Menu.php:507
1964
+ #, fuzzy, php-format
1965
+ msgid "Alexa META code (for %sAlexa Tool%s ):"
1966
+ msgstr "Bing META code (pentru %sWebmaster Tool%s):"
1967
+
1968
+ #~ msgid "Squirrly article rank"
1969
+ #~ msgstr "Squirrly article rank"
1970
+
1971
+ #~ msgid "More details"
1972
+ #~ msgstr "Mai mult"
1973
+
1974
+ #~ msgid "Less details"
1975
+ #~ msgstr "Mai putin"
1976
+
1977
+ #~ msgid "Interval: "
1978
+ #~ msgstr "Interval:"
1979
+
1980
+ #~ msgid "Latest"
1981
+ #~ msgstr "Ultima"
1982
+
1983
+ #~ msgid "Last 7 days"
1984
+ #~ msgstr "Ultimele 7 zile"
1985
+
1986
+ #~ msgid "See it in 'All Posts'"
1987
+ #~ msgstr "Arata-l in 'Lista Articole'"
1988
+
1989
+ #~ msgid "progress"
1990
+ #~ msgstr "progres"
1991
+
1992
+ #~ msgid "optimized"
1993
+ #~ msgstr "optimizat"
1994
+
1995
+ #~ msgid "See rank"
1996
+ #~ msgstr "Vezi rang"
1997
+
1998
+ #~ msgid "Hide rank"
1999
+ #~ msgstr "Ascunde Rang"
2000
+
2001
+ #~ msgid "Optimize"
2002
+ #~ msgstr "Optimizare"
2003
+
2004
+ #~ msgid "Publish the article to start Squirrly Article Rank"
2005
+ #~ msgstr "Publica articolul pentru a pornit Squirrly Rank"
2006
+
2007
+ #~ msgid "This article"
2008
+ #~ msgstr "Acest articol"
2009
+
2010
+ #~ msgid "All your articles"
2011
+ #~ msgstr "Articolele mele"
2012
+
2013
+ #~ msgid "Optimize this article to start Squirrly Article Rank"
2014
+ #~ msgstr "Optimizeaza articolul pentru a pornit Squirrly Rank"
2015
+
2016
+ #~ msgid "Traffic to article"
2017
+ #~ msgstr "Trafic la articol"
2018
+
2019
+ #~ msgid "Social impact"
2020
+ #~ msgstr "Impact Social Media"
2021
+
2022
+ #~ msgid "Links to article"
2023
+ #~ msgstr "Link-uri spre articol"
2024
+
2025
+ #~ msgid "pos"
2026
+ #~ msgstr "pos"
2027
+
2028
+ #~ msgid "for:"
2029
+ #~ msgstr "pentru:"
2030
+
2031
+ #~ msgid "(searched with the url)"
2032
+ #~ msgstr "(cautat cu url)"
2033
+
2034
+ #~ msgid "This article|Average"
2035
+ #~ msgstr "Acest articole|Media"
2036
+
2037
+ #~ msgid "Unique"
2038
+ #~ msgstr "Unici"
2039
+
2040
+ #~ msgid "Change"
2041
+ #~ msgstr "Modifica"
2042
+
2043
+ #~ msgid "since"
2044
+ #~ msgstr "de"
2045
+
2046
+ #~ msgid "Recommended by Squirrly"
2047
+ #~ msgstr "Recomandat de Squirrly"
2048
+
2049
+ #~ msgid "Keyword"
2050
+ #~ msgstr "Cuvant cheie:"
2051
+
2052
+ #~ msgid "User level"
2053
+ #~ msgstr "Nivel Utilizator"
2054
+
2055
+ #~ msgid "Beginner"
2056
+ #~ msgstr "Incepator"
2057
+
2058
+ #~ msgid "Advanced"
2059
+ #~ msgstr "Avansat"
2060
+
2061
+ #~ msgid "Select Advanced only if you have SEO knowledge."
2062
+ #~ msgstr "Alege Avansat doar daca ai cunostinte SEO"
2063
+
2064
+ #~ msgid "What does the Beginner option bring you:"
2065
+ #~ msgstr "Ce iti aduce modul Incepator:"
2066
+
2067
+ #~ msgid ""
2068
+ #~ "Squirrly <strong>finds the optimum Title and Description</strong> for "
2069
+ #~ "each page of your blog but you can still customize the home page Title "
2070
+ #~ "and Description if you want."
2071
+ #~ msgstr ""
2072
+ #~ "Squirrly <strong>gaseste Titlul si Meta Descrierea optima</strong> pentru "
2073
+ #~ "fiecare pagina din blog dar poti sa modifici Titlul si Descrierea pentru "
2074
+ #~ "prima pagina daca doresti."
2075
+
2076
+ #~ msgid ""
2077
+ #~ "Squirrly <strong>manages the sitemap</strong> for your blog and pings it "
2078
+ #~ "to Google and Bing every time you add a new article. This ensures that "
2079
+ #~ "your articles get indexed much faster."
2080
+ #~ msgstr ""
2081
+ #~ "Squirrly <strong>intretine sitemap-ul</strong> din blog si il trimite "
2082
+ #~ "spre Google si Bing de fiecare data cand adaugi un nou articol. Asta "
2083
+ #~ "asigura ca articolele sunt indexate mai rapid."
2084
+
2085
+ #~ msgid ""
2086
+ #~ "Squirrly <strong>adds the Facebook required meta</strong>, so that when "
2087
+ #~ "your readers share your page or article, it looks really good."
2088
+ #~ msgstr ""
2089
+ #~ "Squirrly <strong>adauga meta pentru Facebook</strong> ca atunci cand "
2090
+ #~ "cititorii dau Share la articol sa apara informatii relevante in Facebook."
2091
+
2092
+ #~ msgid ""
2093
+ #~ "You can connect your site with your <strong>Google Plus</strong> and "
2094
+ #~ "<strong>Google Analytics</strong> accounts."
2095
+ #~ msgstr ""
2096
+ #~ "Iti poti conecta contul cu <strong>Google Plus</strong> si <strong>Google "
2097
+ #~ "Analytics</strong>."
2098
+
2099
+ #~ msgid ""
2100
+ #~ "You can add the site icon (also known as favicon) and Squirrly will set "
2101
+ #~ "it up to look good for <strong>Apple devices</strong>."
2102
+ #~ msgstr ""
2103
+ #~ "Poti adauga icoana in site (favicon) si Squirrly va seta meta pentru a se "
2104
+ #~ "vedea pe dispozitivele Apple mobile."
2105
+
2106
+ #~ msgid "What does the Advanced option bring you:"
2107
+ #~ msgstr "Ce iti aduce modul Avansat:"
2108
+
2109
+ #~ msgid ""
2110
+ #~ "More <strong>SEO options</strong> are available on the Settings page."
2111
+ #~ msgstr ""
2112
+ #~ "Mai multe <strong>optiuni SEO</strong> disponibile in pagina Settings."
2113
+
2114
+ #~ msgid ""
2115
+ #~ "You can connect your site with <strong>Google Webmaster Tools</strong>, "
2116
+ #~ "<strong>Bing Webmaster Tools</strong> and <strong>Facebook Insights</"
2117
+ #~ "strong>."
2118
+ #~ msgstr ""
2119
+ #~ "Poti conecta site-ul cu <strong>Google Webmaster Tools</strong>, "
2120
+ #~ "<strong>Bing Webmaster Tools</strong> si <strong>Facebook Insights</"
2121
+ #~ "strong>"
2122
+
2123
+ #~ msgid ""
2124
+ #~ "You can see the <strong>Snippet</strong> when you edit your Post or Page."
2125
+ #~ msgstr ""
2126
+ #~ "Poti vedea <strong>Snippet-ul</strong> cand editezi o pagina sau un "
2127
+ #~ "articol."
2128
+
2129
+ #~ msgid ""
2130
+ #~ "You can <strong>customize the Title and Description</strong> of each Post/"
2131
+ #~ "Page from within the snippet."
2132
+ #~ msgstr ""
2133
+ #~ "Poti <strong>modifica Titlul si Meta Descrierea</strong> in fiecare "
2134
+ #~ "Pagina/Post din interiorul snippet-ului."
2135
+
2136
+ #~ msgid ""
2137
+ #~ "With Squirrly SEO, your Wordpress will get Excellent SEO on each article "
2138
+ #~ "you write."
2139
+ #~ msgstr ""
2140
+ #~ "Cu Squirrly SEO, articolele tale vor avea un SEO excelent la fiecare "
2141
+ #~ "articol scris."
2142
+
2143
+ #~ msgid "SEO Software"
2144
+ #~ msgstr "Software SEO"
2145
+
2146
+ #~ msgid ""
2147
+ #~ "delivered as a plugin for Wordpress. <br /><br />We connect your "
2148
+ #~ "wordpress with Squirrly, so that we can find the best SEO opportunities, "
2149
+ #~ "give you reports and analyse your competitors."
2150
+ #~ msgstr ""
2151
+ #~ "livrat ca un plugin de Wordpress. <br /><br />Conectam wordpress cu "
2152
+ #~ "Squirrly pentru a gasi solutiile SEO cele mai bune, pentru a va oferi "
2153
+ #~ "rapoarte si pentru a analiza competitia."
2154
+
2155
+ #~ msgid ""
2156
+ #~ "<strong>Keyword Research and Analysis</strong>: find the keywords that "
2157
+ #~ "are easier to rank for."
2158
+ #~ msgstr ""
2159
+ #~ "<strong>Keyword Research and Analysis</strong>: iti gaseste cuvintele "
2160
+ #~ "cheie pe care sa mergi."
2161
+
2162
+ #~ msgid ""
2163
+ #~ "<strong>SEO Live Assistant</strong>: Your Wordpress gives you SEO adivce "
2164
+ #~ "as you type your article."
2165
+ #~ msgstr ""
2166
+ #~ "<strong>SEO Live Assistant</strong>: Wordpress iti va da instructiuni SEO "
2167
+ #~ "in timp ce scrii articolul."
2168
+
2169
+ #~ msgid ""
2170
+ #~ "<strong>Inspiration box</strong>: get images you can use for free, tweets "
2171
+ #~ "you can quote and get up to date with latest news about your subject."
2172
+ #~ msgstr ""
2173
+ #~ "<strong>Inspiration box</strong>: iti preia imagini gratuite, tweet-uri "
2174
+ #~ "pe care le poti adauga rapid in articol si ultimele noutati de pe "
2175
+ #~ "internet legate de cuvantul cheie."
2176
+
2177
+ #~ msgid ""
2178
+ #~ "<strong>Article Rank</strong>: Measure and Monitor the impact of SEO and "
2179
+ #~ "Social Signals for each of your articles."
2180
+ #~ msgstr ""
2181
+ #~ "<strong>Article Rank</strong>: Masoara si Monitorizeaza impactul SEO si "
2182
+ #~ "Social pe fiecare articol/pagina."
2183
+
2184
+ #~ msgid "Add <strong>canonical</strong> link in home page"
2185
+ #~ msgstr "Adauga <strong>link canonic</strong> in pagina acasa"
2186
+
2187
+ #~ msgid "Auto"
2188
+ #~ msgstr "Auto"
2189
+
2190
+ #~ msgid "Custom"
2191
+ #~ msgstr "Manual"
2192
+
2193
+ #~ msgid "Can not connect to Squirrly. Error: "
2194
+ #~ msgstr "Nu se poate conecta la Squirrly. Eroare: "
2195
+
2196
+ #~ msgid "Write a new post with Squirrly"
2197
+ #~ msgstr "Scrie un nou articol cu Squirrly"
2198
+
2199
+ #~ msgid "Today"
2200
+ #~ msgstr "Azi"
2201
+
2202
+ #~ msgid " API"
2203
+ #~ msgstr " API"
2204
+
2205
+ #~ msgid "API Key:"
2206
+ #~ msgstr "Cheie API"
2207
 
2208
  #~ msgid "For Squirrly to work, you have to have tinymce installed!"
2209
  #~ msgstr ""
models/SQ_BlockPostsAnalytics.php CHANGED
@@ -90,7 +90,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table {
90
  }
91
  //if keyword filter
92
  if (isset($q['keyword'])) {
93
- if (!isset($post->meta_value->keyword) || $q['keyword'] <> $post->meta_value->keyword) {
94
  continue;
95
  }
96
  }
@@ -378,7 +378,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table {
378
  case 'keywords':
379
  $value = '';
380
  if (isset($json->keyword)) {
381
- $value = sprintf('<a href="%s">%s</a>', esc_attr(add_query_arg(array('page' => 'sq_posts', 'keyword' => $json->keyword), 'admin.php')), $json->keyword);
382
  } else {
383
  $value = __('No Tags');
384
  }
@@ -388,15 +388,15 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table {
388
  $value = '';
389
  if (isset($json->rank)) {
390
  if ($json->rank == -2) {
391
- $value = __('Not yet verified');
392
  } elseif ($json->rank == -1) {
393
- $value = __('Not indexed');
394
  } elseif ($json->rank == 0) {
395
- $value = __('Indexed with the URL');
396
  } elseif ($json->rank > 0) {
397
  $value = '<strong style="display:block; font-size: 120%; width: 100px; margin: 0 auto; text-align:right;">' . sprintf(__('%s'), $json->rank) . '</strong>' . ((isset($json->country)) ? ' (' . $json->country . ')' : '');
398
  }
399
- $value = sprintf('<a href="%s" style="display:block; width: 120px; margin: 0 auto; text-align:right;">%s</a>', esc_url(add_query_arg(array('page' => 'sq_posts', 'rank' => $json->rank), 'admin.php')), $value);
400
  } else {
401
  $value = __('Not yet verified');
402
  }
90
  }
91
  //if keyword filter
92
  if (isset($q['keyword'])) {
93
+ if (!isset($post->meta_value->keyword) || strtolower($q['keyword']) <> strtolower($post->meta_value->keyword)) {
94
  continue;
95
  }
96
  }
378
  case 'keywords':
379
  $value = '';
380
  if (isset($json->keyword)) {
381
+ $value = sprintf('<a href="%s">%s</a>', esc_attr(add_query_arg(array('page' => 'sq_posts', 'keyword' => strtolower($json->keyword)), 'admin.php')), $json->keyword);
382
  } else {
383
  $value = __('No Tags');
384
  }
388
  $value = '';
389
  if (isset($json->rank)) {
390
  if ($json->rank == -2) {
391
+ $value = __('Could not receive data from google (Err: blocked IP)');
392
  } elseif ($json->rank == -1) {
393
+ $value = __('> 100');
394
  } elseif ($json->rank == 0) {
395
+ $value = __('URL Indexed');
396
  } elseif ($json->rank > 0) {
397
  $value = '<strong style="display:block; font-size: 120%; width: 100px; margin: 0 auto; text-align:right;">' . sprintf(__('%s'), $json->rank) . '</strong>' . ((isset($json->country)) ? ' (' . $json->country . ')' : '');
398
  }
399
+ $value = sprintf('<a id="sq_rank_value' . $post->ID . '" href="%s" style="display:block; width: 120px; margin: 0 auto; text-align:right;">%s</a><span class="sq_rank_column_button_recheck sq_rank_column_button" onclick="sq_recheckRank(' . $post->ID . ')">%s</span>', esc_url(add_query_arg(array('page' => 'sq_posts', 'rank' => $json->rank), 'admin.php')), $value, __('Force recheck', _SQ_PLUGIN_NAME_));
400
  } else {
401
  $value = __('Not yet verified');
402
  }
models/SQ_Blocksearch.php CHANGED
@@ -47,13 +47,13 @@ class Model_SQ_Blocksearch {
47
  }
48
 
49
  //Call Flickr
50
- $url = "http://api.flickr.com/services/rest/?" . implode('&', $pack);
51
 
52
  $rsp = wp_remote_fopen($url);
53
  $rsp_obj = unserialize($rsp);
54
 
55
  // if we have photos
56
- if ($rsp_obj && $rsp_obj['photos']['total'] > 0) {
57
  foreach ($rsp_obj['photos']['photo'] as $photo) {
58
 
59
  $src = 'http://farm' . $photo['farm'] . '.static.flickr.com/' . $photo['server'] . '/' . $photo['id'] . '_' . $photo['secret'];
@@ -67,6 +67,8 @@ class Model_SQ_Blocksearch {
67
  'contentNoFormatting' => $photo['title']);
68
  }
69
  }
 
 
70
  }
71
 
72
  }
47
  }
48
 
49
  //Call Flickr
50
+ $url = "https://api.flickr.com/services/rest/?" . implode('&', $pack);
51
 
52
  $rsp = wp_remote_fopen($url);
53
  $rsp_obj = unserialize($rsp);
54
 
55
  // if we have photos
56
+ if ($rsp_obj && isset($rsp_obj['photos']) && $rsp_obj['photos']['total'] > 0) {
57
  foreach ($rsp_obj['photos']['photo'] as $photo) {
58
 
59
  $src = 'http://farm' . $photo['farm'] . '.static.flickr.com/' . $photo['server'] . '/' . $photo['id'] . '_' . $photo['secret'];
67
  'contentNoFormatting' => $photo['title']);
68
  }
69
  }
70
+
71
+ return false;
72
  }
73
 
74
  }
models/SQ_Blockseo.php CHANGED
@@ -21,7 +21,8 @@ class Model_SQ_Blockseo {
21
  return;
22
 
23
  $meta = array('sq_fp_title' => '',
24
- 'sq_fp_description' => '');
 
25
 
26
  $sql = "SELECT `meta_id`, `meta_value`, `meta_key`
27
  FROM `" . $wpdb->postmeta . "`
21
  return;
22
 
23
  $meta = array('sq_fp_title' => '',
24
+ 'sq_fp_description' => '',
25
+ 'sq_fp_ogimage' => '');
26
 
27
  $sql = "SELECT `meta_id`, `meta_value`, `meta_key`
28
  FROM `" . $wpdb->postmeta . "`
models/SQ_Frontend.php CHANGED
@@ -2,6 +2,9 @@
2
 
3
  class Model_SQ_Frontend {
4
 
 
 
 
5
  /** @var string */
6
  private $title;
7
 
@@ -28,12 +31,14 @@ class Model_SQ_Frontend {
28
 
29
  /** @var object Current post */
30
  private $post;
 
31
 
32
  /** @var array Meta custom content */
33
  private $meta = array();
34
 
35
  public function __construct() {
36
  SQ_ObjController::getController('SQ_Tools', false);
 
37
  }
38
 
39
  /** @var meta from other plugins */
@@ -98,31 +103,39 @@ class Model_SQ_Frontend {
98
  * @return string
99
  */
100
  private function setMetaInBuffer($buffer) {
101
- global $wp_query;
102
  if (!isset($wp_query)) {
103
  return $buffer;
104
  }
105
 
106
- $this->post = $wp_query->get_queried_object();
107
-
108
- if (is_home() || (isset($wp_query->query) && empty($wp_query->query)) || is_single() || is_preview() || is_page() || is_archive() || is_author() || is_category() || is_tag() || is_search()) {
109
- $title = $this->getCustomTitle();
110
- if (isset($title) && !empty($title) && $title <> '') {
111
- $buffer = @preg_replace('/<title[^<>]*>([^<>]*)<\/title>/si', sprintf("<title>%s</title>", $title), $buffer, 1, $count);
112
- if ($count == 0) { //if no title found
113
- $buffer .= sprintf("<title>%s</title>", $title) . "\n";
114
- } //add the title
115
- }
 
 
 
 
 
 
 
116
 
117
 
118
- $description = $this->getCustomDescription();
119
- if (isset($description) && !empty($description) && $description <> '') {
120
- $buffer = @preg_replace('/<meta[^>]*name=\"description\"[^>]*content=[\"|\'][^>]*[\"|\'][^>]*>/si', $description, $buffer, 1, $count);
121
- }
122
 
123
- $keyword = $this->getCustomKeyword();
124
- if (isset($keyword) && !empty($keyword) && $keyword <> '') {
125
- $buffer = @preg_replace('/<meta[^>]*name=\"keywords"[^>]*content=[\"|\'][^>]*[\"|\'][^>]*>/si', $keyword, $buffer, 1, $count);
 
126
  }
127
  }
128
  return $buffer;
@@ -136,21 +149,29 @@ class Model_SQ_Frontend {
136
  * @return string
137
  */
138
  public function setHeader() {
139
- global $wp_query;
140
  $ret = '';
141
- $this->post = $wp_query->get_queried_object();
 
 
 
 
 
 
 
142
  $this->meta['blogname'] = get_bloginfo('name');
143
 
144
  if (!function_exists('preg_replace')) {
145
  return $ret;
146
  }
147
 
148
- if ($this->isHomePage() || is_single() || is_page() || is_singular() || is_preview() || is_archive() || is_category() || is_author() || is_tag() || is_search()) {
149
 
150
  /* Meta setting */
151
  $this->title = $this->clearTitle($this->getCustomTitle());
152
 
153
- if (SQ_Tools::$options['sq_auto_description'] == 1) {
 
154
  $ret .= $this->getCustomDescription() . "\n";
155
  $ret .= $this->getCustomKeyword() . "\n";
156
  }
@@ -187,24 +208,15 @@ class Model_SQ_Frontend {
187
  $ret .= $this->getGoogleAnalytics();
188
  $ret .= $this->getFacebookIns();
189
  $ret .= $this->getBingWT();
190
- $ret .= $this->getAlexaT();
191
-
192
 
 
193
 
194
  $ret .= $this->setEnd();
195
  }
196
  return $ret;
197
  }
198
 
199
- public function setFooter($code) {
200
- $traffic = SQ_ObjController::getController('SQ_Traffic', false);
201
- if (is_object($traffic)) {
202
- echo $this->setStart();
203
- echo $traffic->getTrafficScript($code);
204
- echo $this->setEnd();
205
- }
206
- }
207
-
208
  private function getTwitterCard($options) {
209
  $meta = "\n";
210
 
@@ -213,6 +225,10 @@ class Model_SQ_Frontend {
213
  return;
214
  }
215
 
 
 
 
 
216
  //if ($options['sq_twitter_creator'] == '' && $options['sq_twitter_site'] == '') return;
217
  $sq_twitter_creator = $options['sq_twitter_account'];
218
  $sq_twitter_site = $options['sq_twitter_account'];
@@ -221,14 +237,14 @@ class Model_SQ_Frontend {
221
  $this->thumb_image = $this->getImageFromContent();
222
  }
223
 
224
- $meta .= '<meta name="twitter:card" value="summary" />' . "\n";
225
-
226
- $meta .= (($sq_twitter_creator <> '') ? sprintf('<meta name="twitter:creator" value="%s" />', $sq_twitter_creator) . "\n" : '');
227
- $meta .= (($sq_twitter_site <> '') ? sprintf('<meta name="twitter:site" value="%s" />', $sq_twitter_site) . "\n" : '');
228
 
 
 
 
229
  $meta .= sprintf('<meta name="twitter:title" content="%s">', $this->title) . "\n";
230
- $meta .= (($this->title == $this->description) ? sprintf('<meta name="twitter:description" content="%s">', $this->description . ' | ' . $this->meta['blogname']) . "\n" : '');
231
- $meta .= ((isset($this->thumb_image) && $this->thumb_image <> '') ? sprintf('<meta name="twitter:image:src" content="%s">', $this->thumb_image) . "\n" : '');
232
  $meta .= (($this->meta['blogname'] <> '') ? sprintf('<meta name="twitter:domain" content="%s">', $this->meta['blogname']) . "\n" : '');
233
 
234
  return $meta;
@@ -241,10 +257,15 @@ class Model_SQ_Frontend {
241
  private function getOpenGraph() {
242
  $meta = "\n";
243
  $image = '';
 
244
 
245
  $url = $this->getCanonicalUrl();
246
  if (!isset($this->thumb_image) || $this->thumb_image == '') {
247
- $this->thumb_image = $this->getImageFromContent();
 
 
 
 
248
  }
249
 
250
  if (!isset($this->thumb_video) || $this->thumb_video == '') {
@@ -256,7 +277,7 @@ class Model_SQ_Frontend {
256
  }
257
  //GET THE URL
258
  $meta .= sprintf('<meta property="og:url" content="%s" />', $url) . "\n";
259
- if (!$this->isHomePage() && (isset($this->thumb_image) && $this->thumb_image <> '')) {
260
  $meta .= sprintf('<meta property="og:image" content="%s" />', $this->thumb_image) . "\n";
261
  $meta .= sprintf('<meta property="og:image:width" content="%s" />', '500') . "\n";
262
  }
@@ -275,13 +296,12 @@ class Model_SQ_Frontend {
275
  $meta .= sprintf('<meta property="og:type" content="%s" />', 'profile') . "\n";
276
  $meta .= sprintf('<meta property="profile:first_name" content="%s" />', get_the_author_meta('first_name', $author->ID)) . "\n";
277
  $meta .= sprintf('<meta property="profile:last_name" content="%s" />', get_the_author_meta('last_name', $author->ID)) . "\n";
278
- } elseif (is_single() || is_page()) {
279
- global $post;
280
  $meta .= sprintf('<meta property="og:type" content="%s" />', ((isset($this->thumb_video) && $this->thumb_video <> '') ? 'video' : 'article')) . "\n";
281
  if ((isset($this->thumb_video) && $this->thumb_video <> '')) {
282
 
283
  } else {
284
- $meta .= sprintf('<meta property="article:published_time" content="%s" />', get_the_time('c', $post->ID)) . "\n";
285
  if ($this->keywords <> '') {
286
  $keywords = preg_split('/[,]+/', $this->keywords);
287
  if (is_array($keywords) && !empty($keywords)) {
@@ -304,10 +324,14 @@ class Model_SQ_Frontend {
304
  * @return string
305
  */
306
  private function setCanonical() {
307
- $url = $this->getCanonicalUrl();
308
- if ($url) {
 
 
 
309
  remove_action('wp_head', 'rel_canonical');
310
- return sprintf("<link rel=\"canonical\" href=\"%s\" />", $url) . "\n";
 
311
  }
312
 
313
  return '';
@@ -325,7 +349,8 @@ class Model_SQ_Frontend {
325
  }
326
  }
327
 
328
- return (($meta <> '') ? $meta . "\n" : '');
 
329
  }
330
 
331
  /**
@@ -336,71 +361,65 @@ class Model_SQ_Frontend {
336
  public function getCustomTitle() {
337
  $title = '';
338
  $sep = '|';
339
- $post = $this->post;
340
- //If its a home page and home page auto title is activated
341
- if ($this->isHomePage() && $this->checkHomePosts() && SQ_Tools::$options['sq_auto_title'] == 1) { //for homepage
342
- $title = $this->clearTitle($this->grabTitleFromPost());
343
- if ($this->meta['blogname'] <> '') {
344
- $title .= " " . $sep . " " . $this->meta['blogname'];
345
- }
346
- }
347
- //If its a post/page
348
- if (!$this->isHomePage() && (is_single() || is_page() || is_singular())) {
349
-
350
- $title = $this->clearTitle($this->grabTitleFromPost($post->ID));
351
- }
352
-
353
- //If is category
354
- if (is_category()) { //for category
355
- $category = get_category(get_query_var('cat'), false);
356
- $title = SQ_Tools::i18n($category->cat_name);
357
- if ($title == '') {
358
- $title = $this->clearTitle($this->grabTitleFromPost());
359
- }
360
- if (is_paged()) {
361
- $title .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
362
- }
363
- }
364
 
365
- if (is_author()) { //for author
366
- $author = SQ_Tools::i18n(get_the_author_meta('nicename', get_query_var('author')));
367
-
368
- if ($title == '') {
369
- $title = $this->clearTitle($this->grabTitleFromPost()) . " " . $sep . " " . ucfirst($author);
370
- }
371
- if ($title == '') {
372
- $title = __('About') . " " . ucfirst($author);
373
- }
374
- if (is_paged()) {
375
- $title .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
376
- }
377
- }
 
378
 
379
- if (is_tag()) { //for tags
380
- if (is_paged()) {
381
- $tag = get_query_var('tag');
382
- $title = ucfirst(str_replace('-', ' ', SQ_Tools::i18n($tag))) . " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
 
 
 
 
 
 
 
 
 
 
 
 
 
383
  }
384
  }
385
 
386
- //If title then clear it
387
  if ($title <> '') {
388
  $title = $this->truncate($this->clearTitle($title), $this->min_title_length, $this->max_title_length);
389
  }
390
 
391
- /* Check if is a predefined Title */
392
  if ($this->isHomePage() &&
393
- SQ_Tools::$options['sq_auto_title'] == 1 &&
394
- SQ_Tools::$options['sq_auto_seo'] == 0 &&
395
- SQ_Tools::$options['sq_fp_title'] <> '') {
396
 
397
- if (isset($post) && $this->getAdvancedMeta($post->ID, 'title')) {
398
- $title = SQ_Tools::i18n($this->getAdvancedMeta($post->ID, 'title'));
399
- } else {
 
400
  $title = $this->clearTitle(SQ_Tools::$options['sq_fp_title']);
 
 
 
 
 
401
  }
402
  }
403
 
 
404
  return $title;
405
  }
406
 
@@ -415,27 +434,34 @@ class Model_SQ_Frontend {
415
  $post = $this->post;
416
 
417
  if (!$post) {
418
- foreach ($wp_query->posts as $post) {
419
- if ($post->ID && get_post_status($post->ID) == 'publish') {
420
- $post = get_post($post->ID);
421
- break;
 
 
422
  }
423
- }
424
  }
425
 
426
- if ($post && isset($post->post_content)) {
427
- preg_match('/<img[^>]*src="([^"]*)"[^>]*>/i', $post->post_content, $match);
428
- }
 
 
 
 
 
 
 
 
429
 
430
- if (empty($match)) {
431
- return;
432
- }
433
 
434
- if (strpos($match[1], '//') === false) {
435
- $match[1] = get_bloginfo('url') . $match[1];
436
  }
437
-
438
- return $match[1];
439
  }
440
 
441
  /**
@@ -444,14 +470,12 @@ class Model_SQ_Frontend {
444
  * @return type
445
  */
446
  public function getVideoFromContent() {
447
- $post = $this->post;
448
-
449
- if (!$post) {
450
  return false;
451
  }
452
 
453
- if (isset($post->post_content)) {
454
- preg_match('/(https?:)?\/\/(?:[0-9A-Z-]+\.)?(?:(youtube|youtu)(?:-nocookie)?\.(com|be)\/(?:[^"\']+))/si', $post->post_content, $match);
455
 
456
  if (isset($match[0])) {
457
  if (strpos($match[0], '//') !== false && strpos($match[0], 'http') === false) {
@@ -459,7 +483,8 @@ class Model_SQ_Frontend {
459
  }
460
  }
461
 
462
- if (empty($match)) {
 
463
 
464
  } return;
465
  } else {
@@ -471,7 +496,8 @@ class Model_SQ_Frontend {
471
 
472
  private function clearTitle($title) {
473
  $title = str_replace(array('"', "&nbsp;", " "), array('', ' ', ' '), $title);
474
- return trim(strip_tags(html_entity_decode($title)));
 
475
  }
476
 
477
  /**
@@ -480,77 +506,67 @@ class Model_SQ_Frontend {
480
  * @return string
481
  */
482
  private function getCustomDescription() {
483
- $post = $this->post;
484
-
485
  $sep = '|';
486
  $description = '';
487
 
488
- //Is home page, has posts and autodescription is on
489
- if ($this->isHomePage() && $this->checkHomePosts() && SQ_Tools::$options['sq_auto_description'] == 1) { //for homepage
490
- $description = $this->grabDescriptionFromPost();
491
- }
492
-
493
- //If not homepage and its a post/page
494
- if (!$this->isHomePage() && (is_single() || is_page() || is_singular() || $this->checkPostsPage())) {
495
- $description = $this->grabDescriptionFromPost();
496
- }
497
-
498
- //If is a category
499
- if (is_category()) { //for categories
500
- $category = get_category(get_query_var('cat'), false);
501
- $description = SQ_Tools::i18n($category->category_description);
502
- if ($description == '') {
503
- $description = SQ_Tools::i18n($category->cat_name);
504
- }
505
- if ($description == '') {
506
- $description = $this->grabDescriptionFromPost();
507
- }
508
-
509
- if (is_paged()) {
510
- $description .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
511
- }
512
-
513
- if ($this->isHomePage() && $description <> '') {
514
- if ($this->meta['blogname'] <> '') {
515
- $description .= " " . $sep . " " . $this->meta['blogname'];
516
  }
517
- }
518
- }
519
 
520
- //If is the author page
521
- if (is_author()) { //for author
522
- $description = SQ_Tools::i18n(get_the_author_meta('description', get_query_var('author')));
523
- if ($description == '') {
524
- $author = SQ_Tools::i18n(get_the_author_meta('nicename', get_query_var('author')));
525
- $description = $this->grabDescriptionFromPost() . " " . $sep . " " . $author;
526
- }
527
- if (is_paged()) {
528
- $description .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
529
- }
530
- }
531
 
532
- //If is tag
533
- if (is_tag()) { //for tags
534
- $description = SQ_Tools::i18n(tag_description());
535
- if ($description == '') {
536
- $tag = SQ_Tools::i18n(single_tag_title('', false));
537
- $description = ucfirst($tag) . " " . $sep . " " . $this->grabDescriptionFromPost();
538
- }
539
- if (is_paged()) {
540
- $description .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
541
  }
542
  }
543
 
544
  /* Check if is a predefined TitleIn Snippet */
545
  if ($this->isHomePage() &&
546
- SQ_Tools::$options['sq_auto_description'] == 1 &&
547
- SQ_Tools::$options['sq_auto_seo'] == 0 &&
548
- SQ_Tools::$options['sq_fp_description'] <> '') {
549
 
550
- if (isset($post) && $this->getAdvancedMeta($post->ID, 'description')) {
551
- $description = SQ_Tools::i18n($this->getAdvancedMeta($post->ID, 'description'));
552
- } else {
 
553
  $description = strip_tags(SQ_Tools::$options['sq_fp_description']);
 
 
554
  }
555
  }
556
 
@@ -572,8 +588,7 @@ class Model_SQ_Frontend {
572
  $description = str_replace(array("&nbsp;", " ", "\r", "\n"), array(' ', '', '', ' '), $description);
573
  $search = array("'<script[^>]*?>.*?<\/script>'si", // strip out javascript
574
  "/<form.*?<\/form>/si",
575
- "/<iframe.*?<\/iframe>/si"
576
- );
577
 
578
  if (function_exists('preg_replace')) {
579
  $description = preg_replace($search, '', $description);
@@ -596,11 +611,9 @@ class Model_SQ_Frontend {
596
  $keywords = '';
597
 
598
  if ($this->checkPostsPage() && SQ_Tools::$options['sq_auto_description'] == 1) {
599
- $post = $this->post;
600
- $keywords = stripcslashes(SQ_Tools::i18n($this->grabKeywordsFromPost($post->ID)));
601
  } elseif (is_single() || is_page()) {
602
- $post = $this->post;
603
- $keywords = stripcslashes(SQ_Tools::i18n($this->grabKeywordsFromPost($post->ID)));
604
  } elseif (SQ_Tools::$options['sq_auto_description'] == 1) {
605
  $keywords = trim(SQ_Tools::i18n($this->grabKeywordsFromPost()));
606
  }
@@ -608,14 +621,14 @@ class Model_SQ_Frontend {
608
  /* Check if is a predefined Keyword */
609
  if (SQ_Tools::$options['sq_auto_description'] == 1) { //
610
  if (($this->isHomePage() &&
611
- SQ_Tools::$options['sq_auto_seo'] <> 1 &&
612
- SQ_Tools::$options['sq_fp_keywords'] <> '') || $keywords == '') {
613
- $keywords = strip_tags(SQ_Tools::$options['sq_fp_keywords']);
614
  }
615
  }
616
 
617
  if (isset($keywords) && !empty($keywords) && !(is_home() && is_paged())) {
618
  $this->keywords = str_replace('"', '', $keywords);
 
619
  return sprintf("<meta name=\"keywords\" content=\"%s\" />", $this->keywords);
620
  }
621
 
@@ -662,6 +675,7 @@ class Model_SQ_Frontend {
662
  return '<link rel="author" href="' . $author . '" />' . "\n";
663
  }
664
  }
 
665
  return false;
666
  }
667
 
@@ -671,6 +685,7 @@ class Model_SQ_Frontend {
671
  * @return string
672
  */
673
  private function getFavicon() {
 
674
  $str = '';
675
  $rnd = '';
676
 
@@ -696,13 +711,23 @@ class Model_SQ_Frontend {
696
  * @return string
697
  */
698
  private function getLanguage() {
 
 
 
 
 
 
 
 
 
 
699
  $language = get_bloginfo('language');
700
 
701
  if ($language <> '') {
702
- return sprintf("<meta name=\"language\" content=\"%s\" />", $language) . "\n";
703
  }
704
 
705
- return false;
706
  }
707
 
708
  /**
@@ -730,12 +755,12 @@ class Model_SQ_Frontend {
730
  if ($this->isHomePage()) {
731
  $date = date('Y-m-d', strtotime(get_lastpostmodified()));
732
  } elseif (is_single()) {
733
- $post = $this->post;
734
- $date = date('Y-m-d', strtotime($post->post_date));
735
  }
736
 
737
  if ($date) {
738
  $meta .= sprintf("<meta name=\"DC.Date\" content=\"%s\" />", $date) . "\n";
 
739
  $meta .= sprintf("<meta name=\"DC.date.issued\" content=\"%s\" />", $date) . "\n";
740
  }
741
 
@@ -781,16 +806,16 @@ class Model_SQ_Frontend {
781
  $sq_google_analytics = SQ_Tools::$options['sq_google_analytics'];
782
 
783
  if ($sq_google_analytics <> '') {
784
- return sprintf("<script type=\"text/javascript\">
785
- var _gaq = _gaq || [];
786
- _gaq.push(['_setAccount', '%s']);
787
- _gaq.push(['_trackPageview']);
788
- (function() {
789
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
790
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
791
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
792
- })();
793
- </script>", $sq_google_analytics) . "\n";
794
  }
795
 
796
  return false;
@@ -802,7 +827,7 @@ class Model_SQ_Frontend {
802
  * @return string
803
  */
804
  private function getFacebookIns() {
805
- $sq_facebook_insights = SQ_Tools::$options['sq_facebook_insights'];
806
 
807
  if (($this->checkHomePosts() || $this->checkFrontPage()) && $sq_facebook_insights <> '') {
808
  return sprintf("<meta property=\"fb:admins\" content=\"%s\" />", $sq_facebook_insights) . "\n";
@@ -811,6 +836,21 @@ class Model_SQ_Frontend {
811
  return false;
812
  }
813
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
814
  /**
815
  * Get the Alexa Tool code
816
  *
@@ -860,15 +900,18 @@ class Model_SQ_Frontend {
860
  }
861
 
862
  if (!$post) {
863
- foreach ($wp_query->posts as $post) {
864
- $id = (is_attachment()) ? ($post->post_parent) : ($post->ID);
865
- $post = get_post($id);
866
- break;
867
- }
 
 
868
  }
869
 
870
  if ($post) {
871
- $title = SQ_Tools::i18n($post->post_title);
 
872
 
873
  //If there is title saved in database
874
  if ($advtitle = $this->getAdvancedMeta($post->ID, 'title')) {
@@ -878,7 +921,9 @@ class Model_SQ_Frontend {
878
  }
879
  }
880
 
881
- return $title;
 
 
882
  }
883
 
884
  /**
@@ -889,26 +934,30 @@ class Model_SQ_Frontend {
889
  public function grabDescriptionFromPost($id = null) {
890
  global $wp_query;
891
  $post = null;
892
- $description = '';
893
- $advdescription = '';
894
 
895
  if (isset($id)) {
896
  $post = get_post($id);
897
  }
898
 
 
 
 
899
  if (!$post) {
900
- foreach ($wp_query->posts as $post) {
901
- $id = (is_attachment()) ? ($post->post_parent) : ($post->ID);
902
- $post = get_post($id);
903
- break;
904
- }
 
905
  }
906
 
907
 
908
  if ($post) {
909
- $description = $this->_truncate(SQ_Tools::i18n($post->post_excerpt), $this->min_description_length, $this->max_description_length);
910
- if (!$description) {
911
- $description = $this->truncate(SQ_Tools::i18n($post->post_content), $this->min_description_length, $this->max_description_length);
 
 
912
  }
913
 
914
  //If there is description saved in database
@@ -942,22 +991,34 @@ class Model_SQ_Frontend {
942
  $advkeywords = '';
943
 
944
 
945
- if (isset($id)) {
946
  $density = array();
947
- $post = get_post($id);
948
 
949
- foreach (wp_get_post_tags($id) as $keyword) {
950
- $keywords[] = SQ_Tools::i18n($keyword->name);
 
 
 
 
 
 
 
 
951
  }
952
 
953
  if (count($keywords) <= $this->max_keywrods) {
954
- $density = $this->calcDensity(strip_tags($post->post_content), $post->post_title, $this->description);
955
- if (is_array($density)) {
956
- if (is_array($keywords) && is_array($density)) {
957
- $keywords = array_merge($keywords, $density);
958
- } else {
959
- if (is_array($density)) {
960
- $keywords = $density;
 
 
 
 
 
961
  }
962
  }
963
  }
@@ -975,11 +1036,14 @@ class Model_SQ_Frontend {
975
  }
976
 
977
  if (is_home()) {
978
- foreach ($wp_query->posts as $post) {
979
- foreach (wp_get_post_tags($post->ID) as $keyword) {
980
- $keywords[] = SQ_Tools::i18n($keyword->name);
 
 
981
  }
982
  }
 
983
  if (count($keywords) <= $this->max_keywrods) {
984
  foreach ($wp_query->posts as $post) {
985
  $more_keywords = $this->calcDensity(strip_tags($post->post_content), $post->post_title, $this->description);
@@ -988,8 +1052,7 @@ class Model_SQ_Frontend {
988
  $keywords = array_merge($keywords, $more_keywords);
989
  }
990
  }
991
- }
992
- if (sizeof($keywords) > $this->max_keywrods) {
993
  $keywords = array_slice($keywords, 0, $this->max_keywrods);
994
  }
995
  }
@@ -997,13 +1060,16 @@ class Model_SQ_Frontend {
997
  foreach ($wp_query->posts as $post) {
998
  $id = (is_attachment()) ? ($post->post_parent) : ($post->ID);
999
 
1000
- foreach (wp_get_post_tags($id) as $keyword) {
1001
- $keywords[] = SQ_Tools::i18n($keyword->name);
 
 
1002
  }
1003
- // autometa
1004
  $autometa = stripcslashes(get_post_meta($id, 'autometa', true));
1005
  //$autometa = stripcslashes(get_post_meta($post->ID, "autometa", true));
1006
  if (isset($autometa) && !empty($autometa)) {
 
1007
  $autometa_array = explode(' ', $autometa);
1008
  foreach ($autometa_array as $e) {
1009
  $keywords[] = SQ_Tools::i18n($e);
@@ -1023,7 +1089,8 @@ class Model_SQ_Frontend {
1023
  $keywords[] = SQ_Tools::i18n($advkeywords);
1024
  }
1025
 
1026
- return $this->getUniqueKeywords($keywords);
 
1027
  }
1028
 
1029
  /**
@@ -1046,7 +1113,7 @@ class Model_SQ_Frontend {
1046
  $common_words = "a,i,he,she,it,and,me,my,you,the,tags,hash,that,this,they,their";
1047
  $common_words = strtolower($common_words);
1048
  $common_words = explode(",", $common_words);
1049
- // Get keywords
1050
  $words_sum = 0;
1051
  foreach ($words as $value) {
1052
  $common = false;
@@ -1056,8 +1123,7 @@ class Model_SQ_Frontend {
1056
  if ($common_word == $value) {
1057
  $common = true;
1058
  }
1059
- }
1060
- if ($common != true) {
1061
  if (!preg_match("/http/i", $value) && !preg_match("/mailto:/i", $value)) {
1062
  $keywords[] = SQ_Tools::i18n($value);
1063
  $words_sum++;
@@ -1112,12 +1178,11 @@ class Model_SQ_Frontend {
1112
  }
1113
  $frequencies[$key] ++;
1114
  }
1115
- }
1116
- arsort($frequencies);
1117
- if (sizeof($frequencies) > 10) {
1118
  $frequencies = array_slice($frequencies, 0, 10);
1119
- }
1120
- return $frequencies;
1121
  }
1122
 
1123
  public function twoWordPhrases($str) {
@@ -1139,7 +1204,8 @@ class Model_SQ_Frontend {
1139
  */
1140
  private function trimReplace($string) {
1141
  $string = trim($string);
1142
- return (string) str_replace(array("\r", "\r\n", "\n"), '', $string);
 
1143
  }
1144
 
1145
  /**
@@ -1149,7 +1215,6 @@ class Model_SQ_Frontend {
1149
  */
1150
  public function getCanonicalUrl() {
1151
  global $wp_query;
1152
-
1153
  if (!isset($wp_query) || $wp_query->is_404 || $wp_query->is_search) {
1154
  return false;
1155
  }
@@ -1221,7 +1286,8 @@ class Model_SQ_Frontend {
1221
  } elseif (is_tax() && $haspost) {
1222
  $taxonomy = get_query_var('taxonomy');
1223
  $term = get_query_var('term');
1224
- $link = $this->getPaged(get_term_link($term, $taxonomy));
 
1225
  } else {
1226
  return false;
1227
  }
@@ -1242,7 +1308,9 @@ class Model_SQ_Frontend {
1242
  } else {
1243
  global $cache_userdata;
1244
  $userid = get_query_var('author');
1245
- return get_author_posts_url($userid, $cache_userdata[$userid]->user_nicename);
 
 
1246
  }
1247
  }
1248
  return false;
@@ -1263,7 +1331,8 @@ class Model_SQ_Frontend {
1263
  */
1264
  private function isHomePage() {
1265
  global $wp_query;
1266
- return (is_home() || (isset($wp_query->query) && empty($wp_query->query) && !is_preview() ));
 
1267
  }
1268
 
1269
  /**
@@ -1272,8 +1341,8 @@ class Model_SQ_Frontend {
1272
  * @return bool
1273
  */
1274
  private function checkFrontPage() {
1275
- $post = $this->post;
1276
- return is_page() && get_option('show_on_front') == 'page' && $post->ID == get_option('page_on_front');
1277
  }
1278
 
1279
  /**
@@ -1282,9 +1351,8 @@ class Model_SQ_Frontend {
1282
  * @return bool
1283
  */
1284
  private function checkPostsPage() {
1285
- $post = $this->post;
1286
-
1287
- return is_home() && get_option('show_on_front') == 'page' && $post->ID == get_option('page_for_posts');
1288
  }
1289
 
1290
  /**
@@ -1296,7 +1364,8 @@ class Model_SQ_Frontend {
1296
  global $wp_query;
1297
 
1298
  if (!$this->checkPostsPage()) {
1299
- return is_home() && (int) $wp_query->post_count > 0 && isset($wp_query->posts) && is_array($wp_query->posts);
 
1300
  } else {
1301
  return false;
1302
  }
@@ -1305,9 +1374,7 @@ class Model_SQ_Frontend {
1305
  public function truncate($text, $min, $max) {
1306
  if (function_exists('strip_tags')) {
1307
  $text = strip_tags($text);
1308
- }
1309
-
1310
- $text = str_replace(']]>', ']]&gt;', $text);
1311
  $text = @preg_replace('|\[(.+?)\](.+?\[/\\1\])?|s', '', $text);
1312
  $text = strip_tags($text);
1313
 
@@ -1317,17 +1384,19 @@ class Model_SQ_Frontend {
1317
  }
1318
  }
1319
  $text = substr($text, 0, $max);
1320
- return trim(stripcslashes($text));
 
1321
  }
1322
 
1323
  public function _truncate($text) {
1324
  if (function_exists('strip_tags'))
1325
  $text = strip_tags($text);
1326
-
1327
  $text = str_replace(']]>', ']]&gt;', $text);
1328
  $text = @preg_replace('|\[(.+?)\](.+?\[/\\1\])?|s', '', $text);
1329
  $text = strip_tags($text);
1330
- return trim(stripcslashes($text));
 
 
1331
  }
1332
 
1333
  /**
@@ -1367,6 +1436,7 @@ class Model_SQ_Frontend {
1367
  */
1368
  public function getAdvancedMeta($post_id, $meta = 'title') {
1369
  global $wpdb;
 
1370
  $field = '';
1371
  $cond = '';
1372
 
@@ -1374,7 +1444,7 @@ class Model_SQ_Frontend {
1374
  return '';
1375
  }
1376
 
1377
- //check yoast
1378
  switch ($meta) {
1379
  case 'title':
1380
  $field = 'sq_fp_title';
@@ -1385,6 +1455,9 @@ class Model_SQ_Frontend {
1385
  case 'keyword':
1386
  $field = 'sq_fp_keywords';
1387
  break;
 
 
 
1388
  default:
1389
  $field = 'sq_fp_title';
1390
  }
@@ -1393,21 +1466,19 @@ class Model_SQ_Frontend {
1393
  return $this->meta[$post_id][$field];
1394
  }
1395
 
1396
- // Get the custom Squirrly meta
1397
- //////////////////////////////////////////
1398
- $fields = array('sq_fp_title' => '', 'sq_fp_description' => '', 'sq_fp_keywords' => '');
1399
-
1400
- foreach ($fields as $meta_key => $meta_value) {
1401
- $cond .= ($cond <> '' ? ' OR ' : '') . "`meta_key` = '$meta_key'";
1402
- }
1403
 
1404
  $sql = "SELECT `meta_key`, `meta_value`
1405
  FROM `" . $wpdb->postmeta . "`
1406
- WHERE ($cond) AND `post_id`=" . (int) $post_id;
1407
 
1408
  if ($rows = $wpdb->get_results($sql)) {
1409
  foreach ($rows as $row) {
1410
- $this->meta[$post_id][$row->meta_key] = $row->meta_value;
 
 
1411
  }
1412
  }
1413
  if (isset($this->meta[$post_id]) && is_array($this->meta[$post_id])) {
@@ -1415,12 +1486,12 @@ class Model_SQ_Frontend {
1415
  } else {
1416
  $this->meta[$post_id] = $fields;
1417
  }
1418
- //////////////////////////////////////////
1419
 
1420
  if ($field <> '') {
1421
  return $this->meta[$post_id][$field];
1422
  }
1423
- /////////////
1424
  return false;
1425
  }
1426
 
@@ -1432,6 +1503,7 @@ class Model_SQ_Frontend {
1432
  */
1433
  public function getOtherPluginsMeta($post_id, $meta = 'title') {
1434
  global $wpdb;
 
1435
  $field = '';
1436
  $cond = '';
1437
 
@@ -1439,7 +1511,7 @@ class Model_SQ_Frontend {
1439
  return '';
1440
  }
1441
 
1442
- //check yoast
1443
  switch ($meta) {
1444
  case 'title':
1445
  $field = '_yoast_wpseo_title';
@@ -1458,22 +1530,20 @@ class Model_SQ_Frontend {
1458
  return $this->meta[$post_id][$field];
1459
  }
1460
 
1461
- // Get the custom Squirrly meta
1462
- //////////////////////////////////////////
1463
  $fields = array('_yoast_wpseo_title' => '', '_yoast_wpseo_metadesc' => '', '_yoast_wpseo_focuskw' => '');
1464
 
1465
- foreach ($fields as $meta_key => $meta_value) {
1466
- $cond .= ($cond <> '' ? ' OR ' : '') . "`meta_key` = '$meta_key'";
1467
- }
1468
-
1469
  $sql = "SELECT `meta_key`, `meta_value`
1470
  FROM `" . $wpdb->postmeta . "`
1471
- WHERE ($cond) AND `post_id`=" . (int) $post_id;
1472
- //echo "History: ".$sql;
1473
  $rows = $wpdb->get_results($sql);
1474
  if ($rows) {
1475
  foreach ($rows as $row) {
1476
- $this->meta[$post_id][$row->meta_key] = $row->meta_value;
 
 
1477
  }
1478
  }
1479
  if (isset($this->meta[$post_id]) && is_array($this->meta[$post_id])) {
@@ -1481,7 +1551,7 @@ class Model_SQ_Frontend {
1481
  } else {
1482
  $this->meta[$post_id] = $fields;
1483
  }
1484
- //////////////////////////////////////////
1485
  if ($field <> '') {
1486
  return $this->meta[$post_id][$field];
1487
  }
2
 
3
  class Model_SQ_Frontend {
4
 
5
+ /** @var canonical link */
6
+ private $url;
7
+
8
  /** @var string */
9
  private $title;
10
 
31
 
32
  /** @var object Current post */
33
  private $post;
34
+ private $post_type;
35
 
36
  /** @var array Meta custom content */
37
  private $meta = array();
38
 
39
  public function __construct() {
40
  SQ_ObjController::getController('SQ_Tools', false);
41
+ $this->post_type = array('post', 'page', 'movie', 'product', 'download', 'shopp_page_shopp-products');
42
  }
43
 
44
  /** @var meta from other plugins */
103
  * @return string
104
  */
105
  private function setMetaInBuffer($buffer) {
106
+ global $wp_query, $post;
107
  if (!isset($wp_query)) {
108
  return $buffer;
109
  }
110
 
111
+ //get the post from shop if woocommerce is installed
112
+ if (function_exists('is_shop') && is_shop()) {
113
+ $this->post = get_post(woocommerce_get_page_id('shop'));
114
+ } else {
115
+ $this->post = get_post($post->ID);
116
+ }
117
+
118
+ if (is_home() || (isset($wp_query->query) && empty($wp_query->query)) || is_single() || is_preview() || is_page() || is_archive() || is_author() || is_category() || is_tag() || is_search() || in_array(get_post_type(), $this->post_type)) {
119
+ preg_match("/<head[^>]*>/i", $buffer, $out);
120
+ if (!empty($out)) {
121
+ $title = $this->getCustomTitle();
122
+ if (isset($title) && !empty($title) && $title <> '') {
123
+ $buffer = @preg_replace('/<title[^<>]*>([^<>]*)<\/title>/si', sprintf("<title>%s</title>", $title), $buffer, 1, $count);
124
+ if ($count == 0) { //if no title found
125
+ $buffer .= sprintf("<title>%s</title>", $title) . "\n";
126
+ } //add the title
127
+ }
128
 
129
 
130
+ $description = $this->getCustomDescription();
131
+ if (isset($description) && !empty($description) && $description <> '') {
132
+ $buffer = @preg_replace('/<meta[^>]*name=\"description\"[^>]*content=[\"|\'][^>]*[\"|\'][^>]*>/si', $description, $buffer, 1, $count);
133
+ }
134
 
135
+ $keyword = $this->getCustomKeyword();
136
+ if (isset($keyword) && !empty($keyword) && $keyword <> '') {
137
+ $buffer = @preg_replace('/<meta[^>]*name=\"keywords"[^>]*content=[\"|\'][^>]*[\"|\'][^>]*>/si', $keyword, $buffer, 1, $count);
138
+ }
139
  }
140
  }
141
  return $buffer;
149
  * @return string
150
  */
151
  public function setHeader() {
152
+ global $wp_query, $post;
153
  $ret = '';
154
+
155
+ //get the post from shop if woocommerce is installed
156
+ if (function_exists('is_shop') && is_shop()) {
157
+ $this->post = get_post(woocommerce_get_page_id('shop'));
158
+ } else {
159
+ $this->post = get_post($post->ID);
160
+ }
161
+
162
  $this->meta['blogname'] = get_bloginfo('name');
163
 
164
  if (!function_exists('preg_replace')) {
165
  return $ret;
166
  }
167
 
168
+ if ($this->isHomePage() || is_single() || is_page() || is_singular() || is_preview() || is_archive() || is_category() || is_author() || is_tag() || is_search() || in_array(get_post_type(), $this->post_type)) {
169
 
170
  /* Meta setting */
171
  $this->title = $this->clearTitle($this->getCustomTitle());
172
 
173
+ //Add description in homepage if is set or add description in other pages if is not home page
174
+ if ((SQ_Tools::$options['sq_auto_description'] == 1 && $this->isHomePage()) || !$this->isHomePage()) {
175
  $ret .= $this->getCustomDescription() . "\n";
176
  $ret .= $this->getCustomKeyword() . "\n";
177
  }
208
  $ret .= $this->getGoogleAnalytics();
209
  $ret .= $this->getFacebookIns();
210
  $ret .= $this->getBingWT();
211
+ $ret .= $this->getPinterest();
 
212
 
213
+ $ret .= $this->getAlexaT();
214
 
215
  $ret .= $this->setEnd();
216
  }
217
  return $ret;
218
  }
219
 
 
 
 
 
 
 
 
 
 
220
  private function getTwitterCard($options) {
221
  $meta = "\n";
222
 
225
  return;
226
  }
227
 
228
+ if (!isset($this->url)) {
229
+ $this->url = $this->getCanonicalUrl();
230
+ }
231
+
232
  //if ($options['sq_twitter_creator'] == '' && $options['sq_twitter_site'] == '') return;
233
  $sq_twitter_creator = $options['sq_twitter_account'];
234
  $sq_twitter_site = $options['sq_twitter_account'];
237
  $this->thumb_image = $this->getImageFromContent();
238
  }
239
 
240
+ $meta .= '<meta name="twitter:card" content="summary" />' . "\n";
 
 
 
241
 
242
+ $meta .= (($sq_twitter_creator <> '') ? sprintf('<meta name="twitter:creator" content="%s" />', $sq_twitter_creator) . "\n" : '');
243
+ $meta .= (($sq_twitter_site <> '') ? sprintf('<meta name="twitter:site" content="%s" />', $sq_twitter_site) . "\n" : '');
244
+ $meta .= sprintf('<meta name="twitter:url" content="%s">', $this->url) . "\n";
245
  $meta .= sprintf('<meta name="twitter:title" content="%s">', $this->title) . "\n";
246
+ $meta .= (($this->description <> '') ? sprintf('<meta name="twitter:description" content="%s">', $this->description . ' | ' . $this->meta['blogname']) . "\n" : '');
247
+ $meta .= ((isset($this->thumb_image) && $this->thumb_image <> '') ? sprintf('<meta name="twitter:image" content="%s">', $this->thumb_image) . "\n" : '');
248
  $meta .= (($this->meta['blogname'] <> '') ? sprintf('<meta name="twitter:domain" content="%s">', $this->meta['blogname']) . "\n" : '');
249
 
250
  return $meta;
257
  private function getOpenGraph() {
258
  $meta = "\n";
259
  $image = '';
260
+ $ogimage = null;
261
 
262
  $url = $this->getCanonicalUrl();
263
  if (!isset($this->thumb_image) || $this->thumb_image == '') {
264
+ if (isset($this->post) && isset($this->post->ID) && $ogimage = $this->getAdvancedMeta($this->post->ID, 'ogimage')) {
265
+ $this->thumb_image = $ogimage;
266
+ } else {
267
+ $this->thumb_image = $this->getImageFromContent();
268
+ }
269
  }
270
 
271
  if (!isset($this->thumb_video) || $this->thumb_video == '') {
277
  }
278
  //GET THE URL
279
  $meta .= sprintf('<meta property="og:url" content="%s" />', $url) . "\n";
280
+ if (( isset($ogimage) && $this->isHomePage() || !$this->isHomePage()) && (isset($this->thumb_image) && $this->thumb_image <> '')) {
281
  $meta .= sprintf('<meta property="og:image" content="%s" />', $this->thumb_image) . "\n";
282
  $meta .= sprintf('<meta property="og:image:width" content="%s" />', '500') . "\n";
283
  }
296
  $meta .= sprintf('<meta property="og:type" content="%s" />', 'profile') . "\n";
297
  $meta .= sprintf('<meta property="profile:first_name" content="%s" />', get_the_author_meta('first_name', $author->ID)) . "\n";
298
  $meta .= sprintf('<meta property="profile:last_name" content="%s" />', get_the_author_meta('last_name', $author->ID)) . "\n";
299
+ } elseif (!$this->isHomePage() && (is_single() || is_page())) {
 
300
  $meta .= sprintf('<meta property="og:type" content="%s" />', ((isset($this->thumb_video) && $this->thumb_video <> '') ? 'video' : 'article')) . "\n";
301
  if ((isset($this->thumb_video) && $this->thumb_video <> '')) {
302
 
303
  } else {
304
+ $meta .= sprintf('<meta property="article:published_time" content="%s" />', get_the_time('c', $this->post->ID)) . "\n";
305
  if ($this->keywords <> '') {
306
  $keywords = preg_split('/[,]+/', $this->keywords);
307
  if (is_array($keywords) && !empty($keywords)) {
324
  * @return string
325
  */
326
  private function setCanonical() {
327
+ if (!isset($this->url)) {
328
+ $this->url = $this->getCanonicalUrl();
329
+ }
330
+
331
+ if ($this->url) {
332
  remove_action('wp_head', 'rel_canonical');
333
+
334
+ return sprintf("<link rel=\"canonical\" href=\"%s\" />", $this->url) . "\n";
335
  }
336
 
337
  return '';
349
  }
350
  }
351
 
352
+ return (($meta <> '') ?
353
+ $meta . "\n" : '');
354
  }
355
 
356
  /**
361
  public function getCustomTitle() {
362
  $title = '';
363
  $sep = '|';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
364
 
365
+ //If its a post/page
366
+ if (!$this->isHomePage()) {
367
+ //If is category
368
+ if (is_category()) { //for category
369
+ $category = get_category(get_query_var('cat'), false);
370
+ $title = SQ_Tools::i18n($category->cat_name);
371
+ if ($title == '') {
372
+ $title = $this->clearTitle($this->grabTitleFromPost());
373
+ }
374
+ if (is_paged()) {
375
+ $title .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
376
+ }
377
+ } elseif (is_author()) { //for author
378
+ $author = SQ_Tools::i18n(get_the_author_meta('nicename', get_query_var('author')));
379
 
380
+ if ($title == '') {
381
+ $title = $this->clearTitle($this->grabTitleFromPost()) . " " . $sep . " " . ucfirst($author);
382
+ }
383
+ if ($title == '') {
384
+ $title = __('About') . " " . ucfirst($author);
385
+ }
386
+ if (is_paged()) {
387
+ $title .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
388
+ }
389
+ } elseif (is_tag()) { //for tags
390
+ if (is_paged()) {
391
+ $tag = get_query_var('tag');
392
+ $title = ucfirst(str_replace('-', ' ', SQ_Tools::i18n($tag))) . " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
393
+ }
394
+ } elseif (is_single() || is_page() || is_singular() || in_array(get_post_type(), $this->post_type)) {
395
+ //is a post page
396
+ $title = $this->clearTitle($this->grabTitleFromPost($this->post->ID));
397
  }
398
  }
399
 
400
+ //If title then clear it and truncate it
401
  if ($title <> '') {
402
  $title = $this->truncate($this->clearTitle($title), $this->min_title_length, $this->max_title_length);
403
  }
404
 
405
+ /* Check if is a predefined Title for home page */
406
  if ($this->isHomePage() &&
407
+ SQ_Tools::$options ['sq_auto_title'] == 1) {
 
 
408
 
409
+ //If the home page is a static page that has custom snippet
410
+ if (is_page() && isset($this->post) && isset($this->post->ID) && $this->getAdvancedMeta($this->post->ID, 'title') <> '') {
411
+ $title = SQ_Tools::i18n($this->getAdvancedMeta($this->post->ID, 'title'));
412
+ } elseif (SQ_Tools:: $options['sq_fp_title'] <> '') {
413
  $title = $this->clearTitle(SQ_Tools::$options['sq_fp_title']);
414
+ } else {
415
+ $title = $this->clearTitle($this->grabTitleFromPost());
416
+ if ($title <> "" && $this->meta['blogname'] <> '') {
417
+ $title .= " " . $sep . " " . $this->meta ['blogname'];
418
+ }
419
  }
420
  }
421
 
422
+
423
  return $title;
424
  }
425
 
434
  $post = $this->post;
435
 
436
  if (!$post) {
437
+ if (!empty($wp_query->posts))
438
+ foreach ($wp_query->posts as $post) {
439
+ if (isset($post->ID) && get_post_status($post->ID) == 'publish') {
440
+ $post = get_post($post->ID);
441
+ break;
442
+ }
443
  }
 
444
  }
445
 
446
+ if ($post && isset($post->ID)) {
447
+ if (has_post_thumbnail($post->ID)) {
448
+ $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'large');
449
+ if (is_array($image) && !empty($image)) {
450
+ return $image[0];
451
+ }
452
+ } elseif (isset($post->post_content)) {
453
+ preg_match('/<img[^>]*src="([^"]*)"[^>]*>/i', $post->post_content, $match);
454
+ if (empty($match)) {
455
+ return;
456
+ }
457
 
458
+ if (strpos($match[1], '//') === false) {
459
+ $match[1] = get_bloginfo('url') . $match[1];
460
+ }
461
 
462
+ return $match[1];
463
+ }
464
  }
 
 
465
  }
466
 
467
  /**
470
  * @return type
471
  */
472
  public function getVideoFromContent() {
473
+ if (!$this->post) {
 
 
474
  return false;
475
  }
476
 
477
+ if (isset($this->post->post_content)) {
478
+ preg_match('/(https?:)?\/\/(?:[0-9A-Z-]+\.)?(?:(youtube|youtu)(?:-nocookie)?\.(com|be)\/(?:[^"\']+))/si', $this->post->post_content, $match);
479
 
480
  if (isset($match[0])) {
481
  if (strpos($match[0], '//') !== false && strpos($match[0], 'http') === false) {
483
  }
484
  }
485
 
486
+ if (empty(
487
+ $match)) {
488
 
489
  } return;
490
  } else {
496
 
497
  private function clearTitle($title) {
498
  $title = str_replace(array('"', "&nbsp;", " "), array('', ' ', ' '), $title);
499
+ return trim(strip_tags(html_entity_decode(
500
+ $title)));
501
  }
502
 
503
  /**
506
  * @return string
507
  */
508
  private function getCustomDescription() {
 
 
509
  $sep = '|';
510
  $description = '';
511
 
512
+ //If not homepage
513
+ if (!$this->isHomePage()) {
514
+ //If is a category
515
+ if (is_category()) { //for categories
516
+ $category = get_category(get_query_var('cat'), false);
517
+ $description = SQ_Tools::i18n($category->category_description);
518
+ if ($description == '') {
519
+ $description = SQ_Tools::i18n($category->cat_name);
520
+ }
521
+ if ($description == '') {
522
+ $description = $this->grabDescriptionFromPost();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
523
  }
 
 
524
 
525
+ if (is_paged()) {
526
+ $description .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
527
+ }
 
 
 
 
 
 
 
 
528
 
529
+ if ($this->isHomePage() && $description <> '') {
530
+ if ($this->meta['blogname'] <> '') {
531
+ $description .= " " . $sep . " " . $this->meta['blogname'];
532
+ }
533
+ }
534
+ } elseif (is_author()) { //for author
535
+ $description = SQ_Tools::i18n(get_the_author_meta('description', get_query_var('author')));
536
+ if ($description == '') {
537
+ $author = SQ_Tools::i18n(get_the_author_meta('nicename', get_query_var('author')));
538
+ $description = $this->grabDescriptionFromPost() . " " . $sep . " " . $author;
539
+ }
540
+ if (is_paged()) {
541
+ $description .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
542
+ }
543
+ } elseif (is_tag()) { //for tags
544
+ $description = SQ_Tools::i18n(tag_description());
545
+ if ($description == '') {
546
+ $tag = SQ_Tools::i18n(single_tag_title('', false));
547
+ $description = ucfirst($tag) . " " . $sep . " " . $this->grabDescriptionFromPost();
548
+ }
549
+ if (is_paged()) {
550
+ $description .= " " . $sep . " " . __('Page', _SQ_PLUGIN_NAME_) . " " . get_query_var('paged');
551
+ }
552
+ } elseif (is_single() || is_page() || is_singular() || $this->checkPostsPage() || in_array(get_post_type(), $this->post_type)) {
553
+ if (isset($this->post) && isset($this->post->ID)) {
554
+ $description = $this->grabDescriptionFromPost($this->post->ID);
555
+ }
556
  }
557
  }
558
 
559
  /* Check if is a predefined TitleIn Snippet */
560
  if ($this->isHomePage() &&
561
+ SQ_Tools::$options['sq_auto_description'] == 1) {
 
 
562
 
563
+ //If the home page is a static page that has custom snippet
564
+ if (is_page() && isset($this->post) && isset($this->post->ID) && $this->getAdvancedMeta($this->post->ID, 'description') <> '') {
565
+ $description = SQ_Tools::i18n($this->getAdvancedMeta($this->post->ID, 'description'));
566
+ } elseif (SQ_Tools::$options ['sq_fp_description'] <> '') {
567
  $description = strip_tags(SQ_Tools::$options['sq_fp_description']);
568
+ } else {
569
+ $description = $this->grabDescriptionFromPost();
570
  }
571
  }
572
 
588
  $description = str_replace(array("&nbsp;", " ", "\r", "\n"), array(' ', '', '', ' '), $description);
589
  $search = array("'<script[^>]*?>.*?<\/script>'si", // strip out javascript
590
  "/<form.*?<\/form>/si",
591
+ "/<iframe.*?<\/iframe>/si");
 
592
 
593
  if (function_exists('preg_replace')) {
594
  $description = preg_replace($search, '', $description);
611
  $keywords = '';
612
 
613
  if ($this->checkPostsPage() && SQ_Tools::$options['sq_auto_description'] == 1) {
614
+ $keywords = stripcslashes(SQ_Tools::i18n($this->grabKeywordsFromPost($this->post->ID)));
 
615
  } elseif (is_single() || is_page()) {
616
+ $keywords = stripcslashes(SQ_Tools::i18n($this->grabKeywordsFromPost($this->post->ID)));
 
617
  } elseif (SQ_Tools::$options['sq_auto_description'] == 1) {
618
  $keywords = trim(SQ_Tools::i18n($this->grabKeywordsFromPost()));
619
  }
621
  /* Check if is a predefined Keyword */
622
  if (SQ_Tools::$options['sq_auto_description'] == 1) { //
623
  if (($this->isHomePage() &&
624
+ SQ_Tools::$options['sq_fp_keywords'] <> '')) {
625
+ $keywords = strip_tags(SQ_Tools::$options ['sq_fp_keywords']);
 
626
  }
627
  }
628
 
629
  if (isset($keywords) && !empty($keywords) && !(is_home() && is_paged())) {
630
  $this->keywords = str_replace('"', '', $keywords);
631
+
632
  return sprintf("<meta name=\"keywords\" content=\"%s\" />", $this->keywords);
633
  }
634
 
675
  return '<link rel="author" href="' . $author . '" />' . "\n";
676
  }
677
  }
678
+
679
  return false;
680
  }
681
 
685
  * @return string
686
  */
687
  private function getFavicon() {
688
+
689
  $str = '';
690
  $rnd = '';
691
 
711
  * @return string
712
  */
713
  private function getLanguage() {
714
+ $meta = '';
715
+ if ($this->isHomePage()) {
716
+ $hreflang = SQ_ObjController::getController('SQ_Ranking', false)->getLanguage();
717
+
718
+ if ($hreflang <> '') {
719
+ $url = get_bloginfo('url');
720
+ $meta .= sprintf("<link rel=\"alternate\" hreflang=\"%s\" href=\"$url\" />", $hreflang) . "\n";
721
+ }
722
+ }
723
+
724
  $language = get_bloginfo('language');
725
 
726
  if ($language <> '') {
727
+ $meta .= sprintf("<meta name=\"language\" content=\"%s\" />", $language) . "\n";
728
  }
729
 
730
+ return $meta;
731
  }
732
 
733
  /**
755
  if ($this->isHomePage()) {
756
  $date = date('Y-m-d', strtotime(get_lastpostmodified()));
757
  } elseif (is_single()) {
758
+ $date = date('Y-m-d', strtotime($this->post->post_date));
 
759
  }
760
 
761
  if ($date) {
762
  $meta .= sprintf("<meta name=\"DC.Date\" content=\"%s\" />", $date) . "\n";
763
+
764
  $meta .= sprintf("<meta name=\"DC.date.issued\" content=\"%s\" />", $date) . "\n";
765
  }
766
 
806
  $sq_google_analytics = SQ_Tools::$options['sq_google_analytics'];
807
 
808
  if ($sq_google_analytics <> '') {
809
+ SQ_ObjController::getController('SQ_DisplayController', false)
810
+ ->loadMedia('https://www.google-analytics.com/analytics.js');
811
+ return sprintf("
812
+ <script>
813
+ //<![CDATA[
814
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
815
+ ga('create', '%s', 'auto');
816
+ ga('send', 'pageview');
817
+ //]]>
818
+ </script>", $sq_google_analytics) . "\n";
819
  }
820
 
821
  return false;
827
  * @return string
828
  */
829
  private function getFacebookIns() {
830
+ $sq_facebook_insights = SQ_Tools::$options ['sq_facebook_insights'];
831
 
832
  if (($this->checkHomePosts() || $this->checkFrontPage()) && $sq_facebook_insights <> '') {
833
  return sprintf("<meta property=\"fb:admins\" content=\"%s\" />", $sq_facebook_insights) . "\n";
836
  return false;
837
  }
838
 
839
+ /**
840
+ * Get the Pinterest code
841
+ *
842
+ * @return string
843
+ */
844
+ private function getPinterest() {
845
+ $sq_pinterest = SQ_Tools::$options['sq_pinterest'];
846
+
847
+ if (($this->checkHomePosts() || $this->checkFrontPage()) && $sq_pinterest <> '') {
848
+ return sprintf("<meta name=\"p:domain_verify\" content=\"%s\" />", $sq_pinterest) . "\n";
849
+ }
850
+
851
+ return false;
852
+ }
853
+
854
  /**
855
  * Get the Alexa Tool code
856
  *
900
  }
901
 
902
  if (!$post) {
903
+ if (!empty($wp_query->posts))
904
+ foreach ($wp_query->posts as $post) {
905
+ $id = (is_attachment()) ? ($post->post_parent) : ($post->ID);
906
+ $post = get_post($id);
907
+
908
+ break;
909
+ }
910
  }
911
 
912
  if ($post) {
913
+ if (!$this->isHomePage())
914
+ $title = SQ_Tools::i18n($post->post_title);
915
 
916
  //If there is title saved in database
917
  if ($advtitle = $this->getAdvancedMeta($post->ID, 'title')) {
921
  }
922
  }
923
 
924
+ return
925
+
926
+ $title;
927
  }
928
 
929
  /**
934
  public function grabDescriptionFromPost($id = null) {
935
  global $wp_query;
936
  $post = null;
 
 
937
 
938
  if (isset($id)) {
939
  $post = get_post($id);
940
  }
941
 
942
+ $description = '';
943
+ $advdescription = '';
944
+ //echo 'post: ' . get_the_ID();
945
  if (!$post) {
946
+ if (!empty($wp_query->posts))
947
+ foreach ($wp_query->posts as $post) {
948
+ $id = (is_attachment()) ? ($post->post_parent) : ($post->ID);
949
+ $post = get_post($id);
950
+ break;
951
+ }
952
  }
953
 
954
 
955
  if ($post) {
956
+ if (!$this->isHomePage()) {
957
+ $description = $this->_truncate(SQ_Tools::i18n($post->post_excerpt), $this->min_description_length, $this->max_description_length);
958
+ if (!$description) {
959
+ $description = $this->truncate(SQ_Tools::i18n($post->post_content), $this->min_description_length, $this->max_description_length);
960
+ }
961
  }
962
 
963
  //If there is description saved in database
991
  $advkeywords = '';
992
 
993
 
994
+ if (isset($id) && $post = get_post($id)) {
995
  $density = array();
 
996
 
997
+ if (SQ_Tools::$options['sq_keywordtag'] == 1) {
998
+ foreach (wp_get_post_tags($id) as $keyword) {
999
+ $keywords[] = SQ_Tools::i18n($keyword->name);
1000
+ }
1001
+ } else {
1002
+ if ($json = SQ_ObjController::getModel('SQ_Post')->getKeyword($post->ID)) {
1003
+ if (isset($json->keyword)) {
1004
+ $keywords[] = SQ_Tools::i18n($json->keyword);
1005
+ }
1006
+ }
1007
  }
1008
 
1009
  if (count($keywords) <= $this->max_keywrods) {
1010
+ if ($advkeywords = $this->getAdvancedMeta($post->ID, 'keywords')) {
1011
+ $keywords[] = SQ_Tools::i18n($advkeywords);
1012
+ } else {
1013
+
1014
+ $density = $this->calcDensity(strip_tags($post->post_content), $post->post_title, $this->description);
1015
+ if (is_array($density)) {
1016
+ if (is_array($keywords) && is_array($density)) {
1017
+ $keywords = array_merge($keywords, $density);
1018
+ } else {
1019
+ if (is_array($density)) {
1020
+ $keywords = $density;
1021
+ }
1022
  }
1023
  }
1024
  }
1036
  }
1037
 
1038
  if (is_home()) {
1039
+ if (SQ_Tools::$options['sq_keywordtag'] == 1) {
1040
+ foreach ($wp_query->posts as $post) {
1041
+ foreach (wp_get_post_tags($post->ID) as $keyword) {
1042
+ $keywords[] = SQ_Tools::i18n($keyword->name);
1043
+ }
1044
  }
1045
  }
1046
+
1047
  if (count($keywords) <= $this->max_keywrods) {
1048
  foreach ($wp_query->posts as $post) {
1049
  $more_keywords = $this->calcDensity(strip_tags($post->post_content), $post->post_title, $this->description);
1052
  $keywords = array_merge($keywords, $more_keywords);
1053
  }
1054
  }
1055
+ } if (sizeof($keywords) > $this->max_keywrods) {
 
1056
  $keywords = array_slice($keywords, 0, $this->max_keywrods);
1057
  }
1058
  }
1060
  foreach ($wp_query->posts as $post) {
1061
  $id = (is_attachment()) ? ($post->post_parent) : ($post->ID);
1062
 
1063
+ if (SQ_Tools::$options['sq_keywordtag'] == 1) {
1064
+ foreach (wp_get_post_tags($id) as $keyword) {
1065
+ $keywords[] = SQ_Tools::i18n($keyword->name);
1066
+ }
1067
  }
1068
+ // autometa
1069
  $autometa = stripcslashes(get_post_meta($id, 'autometa', true));
1070
  //$autometa = stripcslashes(get_post_meta($post->ID, "autometa", true));
1071
  if (isset($autometa) && !empty($autometa)) {
1072
+
1073
  $autometa_array = explode(' ', $autometa);
1074
  foreach ($autometa_array as $e) {
1075
  $keywords[] = SQ_Tools::i18n($e);
1089
  $keywords[] = SQ_Tools::i18n($advkeywords);
1090
  }
1091
 
1092
+ return $this->getUniqueKeywords(
1093
+ $keywords);
1094
  }
1095
 
1096
  /**
1113
  $common_words = "a,i,he,she,it,and,me,my,you,the,tags,hash,that,this,they,their";
1114
  $common_words = strtolower($common_words);
1115
  $common_words = explode(",", $common_words);
1116
+ // Get keywords
1117
  $words_sum = 0;
1118
  foreach ($words as $value) {
1119
  $common = false;
1123
  if ($common_word == $value) {
1124
  $common = true;
1125
  }
1126
+ } if ($common != true) {
 
1127
  if (!preg_match("/http/i", $value) && !preg_match("/mailto:/i", $value)) {
1128
  $keywords[] = SQ_Tools::i18n($value);
1129
  $words_sum++;
1178
  }
1179
  $frequencies[$key] ++;
1180
  }
1181
+ } arsort($frequencies);
1182
+ if (sizeof($frequencies) >
1183
+ 10) {
1184
  $frequencies = array_slice($frequencies, 0, 10);
1185
+ } return $frequencies;
 
1186
  }
1187
 
1188
  public function twoWordPhrases($str) {
1204
  */
1205
  private function trimReplace($string) {
1206
  $string = trim($string);
1207
+ return (string) str_replace(array("\r", "\r\n",
1208
+ "\n"), '', $string);
1209
  }
1210
 
1211
  /**
1215
  */
1216
  public function getCanonicalUrl() {
1217
  global $wp_query;
 
1218
  if (!isset($wp_query) || $wp_query->is_404 || $wp_query->is_search) {
1219
  return false;
1220
  }
1286
  } elseif (is_tax() && $haspost) {
1287
  $taxonomy = get_query_var('taxonomy');
1288
  $term = get_query_var('term');
1289
+ $link = $this->getPaged(
1290
+ get_term_link($term, $taxonomy));
1291
  } else {
1292
  return false;
1293
  }
1308
  } else {
1309
  global $cache_userdata;
1310
  $userid = get_query_var('author');
1311
+ return
1312
+
1313
+ get_author_posts_url($userid, $cache_userdata[$userid]->user_nicename);
1314
  }
1315
  }
1316
  return false;
1331
  */
1332
  private function isHomePage() {
1333
  global $wp_query;
1334
+
1335
+ return (is_home() || (isset($wp_query->query) && empty($wp_query->query) && !is_preview()));
1336
  }
1337
 
1338
  /**
1341
  * @return bool
1342
  */
1343
  private function checkFrontPage() {
1344
+ return is_page() && get_option('show_on_front') == 'page' && $this->post->ID ==
1345
+ get_option('page_on_front');
1346
  }
1347
 
1348
  /**
1351
  * @return bool
1352
  */
1353
  private function checkPostsPage() {
1354
+ return is_home() && get_option('show_on_front') == 'page' && $this->post->ID ==
1355
+ get_option('page_for_posts');
 
1356
  }
1357
 
1358
  /**
1364
  global $wp_query;
1365
 
1366
  if (!$this->checkPostsPage()) {
1367
+ return is_home() && (int) $wp_query->post_count > 0 &&
1368
+ isset($wp_query->posts) && is_array($wp_query->posts);
1369
  } else {
1370
  return false;
1371
  }
1374
  public function truncate($text, $min, $max) {
1375
  if (function_exists('strip_tags')) {
1376
  $text = strip_tags($text);
1377
+ } $text = str_replace(']]>', ']]&gt;', $text);
 
 
1378
  $text = @preg_replace('|\[(.+?)\](.+?\[/\\1\])?|s', '', $text);
1379
  $text = strip_tags($text);
1380
 
1384
  }
1385
  }
1386
  $text = substr($text, 0, $max);
1387
+ return trim(
1388
+ stripcslashes($text));
1389
  }
1390
 
1391
  public function _truncate($text) {
1392
  if (function_exists('strip_tags'))
1393
  $text = strip_tags($text);
 
1394
  $text = str_replace(']]>', ']]&gt;', $text);
1395
  $text = @preg_replace('|\[(.+?)\](.+?\[/\\1\])?|s', '', $text);
1396
  $text = strip_tags($text);
1397
+ return
1398
+
1399
+ trim(stripcslashes($text));
1400
  }
1401
 
1402
  /**
1436
  */
1437
  public function getAdvancedMeta($post_id, $meta = 'title') {
1438
  global $wpdb;
1439
+
1440
  $field = '';
1441
  $cond = '';
1442
 
1444
  return '';
1445
  }
1446
 
1447
+ //check yoast
1448
  switch ($meta) {
1449
  case 'title':
1450
  $field = 'sq_fp_title';
1455
  case 'keyword':
1456
  $field = 'sq_fp_keywords';
1457
  break;
1458
+ case 'ogimage':
1459
+ $field = 'sq_fp_ogimage';
1460
+ break;
1461
  default:
1462
  $field = 'sq_fp_title';
1463
  }
1466
  return $this->meta[$post_id][$field];
1467
  }
1468
 
1469
+ // Get the custom Squirrly meta
1470
+ //////////////////////////////////////////
1471
+ $fields = array('sq_fp_title' => '', 'sq_fp_description' => '', 'sq_fp_keywords' => '', 'sq_fp_ogimage' => '');
 
 
 
 
1472
 
1473
  $sql = "SELECT `meta_key`, `meta_value`
1474
  FROM `" . $wpdb->postmeta . "`
1475
+ WHERE `post_id`=" . (int) $post_id;
1476
 
1477
  if ($rows = $wpdb->get_results($sql)) {
1478
  foreach ($rows as $row) {
1479
+ if (array_key_exists($row->meta_key, $fields)) {
1480
+ $this->meta[$post_id][$row->meta_key] = $row->meta_value;
1481
+ }
1482
  }
1483
  }
1484
  if (isset($this->meta[$post_id]) && is_array($this->meta[$post_id])) {
1486
  } else {
1487
  $this->meta[$post_id] = $fields;
1488
  }
1489
+ //////////////////////////////////////////
1490
 
1491
  if ($field <> '') {
1492
  return $this->meta[$post_id][$field];
1493
  }
1494
+ /////////////
1495
  return false;
1496
  }
1497
 
1503
  */
1504
  public function getOtherPluginsMeta($post_id, $meta = 'title') {
1505
  global $wpdb;
1506
+
1507
  $field = '';
1508
  $cond = '';
1509
 
1511
  return '';
1512
  }
1513
 
1514
+ //check yoast
1515
  switch ($meta) {
1516
  case 'title':
1517
  $field = '_yoast_wpseo_title';
1530
  return $this->meta[$post_id][$field];
1531
  }
1532
 
1533
+ // Get the custom Squirrly meta
1534
+ //////////////////////////////////////////
1535
  $fields = array('_yoast_wpseo_title' => '', '_yoast_wpseo_metadesc' => '', '_yoast_wpseo_focuskw' => '');
1536
 
 
 
 
 
1537
  $sql = "SELECT `meta_key`, `meta_value`
1538
  FROM `" . $wpdb->postmeta . "`
1539
+ WHERE `post_id`=" . (int) $post_id;
1540
+
1541
  $rows = $wpdb->get_results($sql);
1542
  if ($rows) {
1543
  foreach ($rows as $row) {
1544
+ if (array_key_exists($row->meta_key, $fields)) {
1545
+ $this->meta[$post_id][$row->meta_key] = $row->meta_value;
1546
+ }
1547
  }
1548
  }
1549
  if (isset($this->meta[$post_id]) && is_array($this->meta[$post_id])) {
1551
  } else {
1552
  $this->meta[$post_id] = $fields;
1553
  }
1554
+ //////////////////////////////////////////
1555
  if ($field <> '') {
1556
  return $this->meta[$post_id][$field];
1557
  }
models/SQ_Menu.php CHANGED
@@ -200,6 +200,31 @@ class Model_SQ_Menu {
200
  return $code;
201
  }
202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  /**
204
  * Check the Bing code saved at settings
205
  *
@@ -234,9 +259,7 @@ class Model_SQ_Menu {
234
  *
235
  */
236
  public function addFavicon($file, $path = ABSPATH) {
237
- if (function_exists('fopen')) {
238
- $f = @fopen($newfile, "w");
239
- }
240
  $out = array();
241
  $out['name'] = strtolower(basename($file['name']));
242
  $out['tmp'] = _SQ_CACHE_DIR_ . strtolower(basename($file['name']));
200
  return $code;
201
  }
202
 
203
+ /**
204
+ * Check the Pinterest code saved at settings
205
+ *
206
+ * @return string
207
+ */
208
+ public function checkPinterestCode($code) {
209
+ if ($code <> '') {
210
+ if (strpos($code, 'content') !== false) {
211
+ preg_match('/content\\s*=\\s*[\'\"]([^\'\"]+)[\'\"]/i', $code, $result);
212
+ if (isset($result[1]) && !empty($result[1]))
213
+ $code = $result[1];
214
+ }
215
+
216
+ if (strpos($code, '"') !== false) {
217
+ preg_match('/[\'\"]([^\'\"]+)[\'\"]/i', $code, $result);
218
+ if (isset($result[1]) && !empty($result[1]))
219
+ $code = $result[1];
220
+ }
221
+
222
+ if ($code == '')
223
+ SQ_Error::setError(__("The code for Pinterest is incorrect.", _SQ_PLUGIN_NAME_));
224
+ }
225
+ return $code;
226
+ }
227
+
228
  /**
229
  * Check the Bing code saved at settings
230
  *
259
  *
260
  */
261
  public function addFavicon($file, $path = ABSPATH) {
262
+
 
 
263
  $out = array();
264
  $out['name'] = strtolower(basename($file['name']));
265
  $out['tmp'] = _SQ_CACHE_DIR_ . strtolower(basename($file['name']));
models/SQ_Post.php CHANGED
@@ -88,6 +88,158 @@ class Model_SQ_Post {
88
  return $text;
89
  }
90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  /**
92
  * Upload the image on server from version 2.0.4
93
  *
@@ -97,14 +249,13 @@ class Model_SQ_Post {
97
  $dir = null;
98
  $file = array();
99
 
100
- $response = wp_remote_get($url, array('timeout' => 30));
101
- $file = wp_upload_bits(basename($url), '', wp_remote_retrieve_body($response), $dir);
102
 
103
  $file['type'] = wp_remote_retrieve_header($response, 'content-type');
104
 
105
  if (!isset($file['error']) || $file['error'] == '')
106
  if (isset($file['url']) && $file['url'] <> '') {
107
- $file['url'] = str_replace(get_bloginfo('url'), '', $file['url']);
108
  $file['filename'] = basename($file['url']);
109
 
110
  return $file;
@@ -221,6 +372,125 @@ class Model_SQ_Post {
221
  'value' => json_encode($args));
222
 
223
  $this->saveAdvMeta($post_id, $meta);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  }
225
 
226
  }
88
  return $text;
89
  }
90
 
91
+ /**
92
+ * Add the image for Open Graph
93
+ *
94
+ * @param string $file
95
+ * @return array [name (the name of the file), image (the path of the image), message (the returned message)]
96
+ *
97
+ */
98
+ function addImage(&$file, $overrides = false, $time = null) {
99
+ // The default error handler.
100
+ if (!function_exists('wp_handle_upload_error')) {
101
+
102
+ function wp_handle_upload_error(&$file, $message) {
103
+ return array('error' => $message);
104
+ }
105
+
106
+ }
107
+
108
+ /**
109
+ * Filter data for the current file to upload.
110
+ *
111
+ * @since 2.9.0
112
+ *
113
+ * @param array $file An array of data for a single file.
114
+ */
115
+ $file = apply_filters('wp_handle_upload_prefilter', $file);
116
+
117
+ // You may define your own function and pass the name in $overrides['upload_error_handler']
118
+ $upload_error_handler = 'wp_handle_upload_error';
119
+
120
+ // You may have had one or more 'wp_handle_upload_prefilter' functions error out the file. Handle that gracefully.
121
+ if (isset($file['error']) && !is_numeric($file['error']) && $file['error'])
122
+ return $upload_error_handler($file, $file['error']);
123
+
124
+ // You may define your own function and pass the name in $overrides['unique_filename_callback']
125
+ $unique_filename_callback = null;
126
+
127
+ // $_POST['action'] must be set and its value must equal $overrides['action'] or this:
128
+ $action = 'sq_save_ogimage';
129
+
130
+ // Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error'].
131
+ $upload_error_strings = array(false,
132
+ __("The uploaded file exceeds the upload_max_filesize directive in php.ini."),
133
+ __("The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form."),
134
+ __("The uploaded file was only partially uploaded."),
135
+ __("No file was uploaded."),
136
+ '',
137
+ __("Missing a temporary folder."),
138
+ __("Failed to write file to disk."),
139
+ __("File upload stopped by extension."));
140
+
141
+ // All tests are on by default. Most can be turned off by $overrides[{test_name}] = false;
142
+ $test_form = true;
143
+ $test_size = true;
144
+ $test_upload = true;
145
+
146
+ // If you override this, you must provide $ext and $type!!!!
147
+ $test_type = true;
148
+ $mimes = false;
149
+
150
+ // Install user overrides. Did we mention that this voids your warranty?
151
+ if (is_array($overrides))
152
+ extract($overrides, EXTR_OVERWRITE);
153
+
154
+ // A correct form post will pass this test.
155
+ if ($test_form && (!isset($_POST['action']) || ($_POST['action'] != $action ) ))
156
+ return call_user_func($upload_error_handler, $file, __('Invalid form submission.'));
157
+
158
+ // A successful upload will pass this test. It makes no sense to override this one.
159
+ if (isset($file['error']) && $file['error'] > 0) {
160
+ return call_user_func($upload_error_handler, $file, $upload_error_strings[$file['error']]);
161
+ }
162
+
163
+ // A non-empty file will pass this test.
164
+ if ($test_size && !($file['size'] > 0 )) {
165
+ if (is_multisite())
166
+ $error_msg = __('File is empty. Please upload something more substantial.');
167
+ else
168
+ $error_msg = __('File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.');
169
+ return call_user_func($upload_error_handler, $file, $error_msg);
170
+ }
171
+
172
+ // A properly uploaded file will pass this test. There should be no reason to override this one.
173
+ if ($test_upload && !@ is_uploaded_file($file['tmp_name']))
174
+ return call_user_func($upload_error_handler, $file, __('Specified file failed upload test.'));
175
+
176
+ // A correct MIME type will pass this test. Override $mimes or use the upload_mimes filter.
177
+ if ($test_type) {
178
+ $wp_filetype = wp_check_filetype_and_ext($file['tmp_name'], $file['name'], $mimes);
179
+
180
+ extract($wp_filetype);
181
+
182
+ // Check to see if wp_check_filetype_and_ext() determined the filename was incorrect
183
+ if ($proper_filename)
184
+ $file['name'] = $proper_filename;
185
+
186
+ if ((!$type || !$ext ) && !current_user_can('unfiltered_upload'))
187
+ return call_user_func($upload_error_handler, $file, __('Sorry, this file type is not permitted for security reasons.'));
188
+
189
+ if (!$ext)
190
+ $ext = ltrim(strrchr($file['name'], '.'), '.');
191
+
192
+ if (!$type)
193
+ $type = $file['type'];
194
+ } else {
195
+ $type = '';
196
+ }
197
+
198
+ // A writable uploads dir will pass this test. Again, there's no point overriding this one.
199
+ if (!( ( $uploads = wp_upload_dir($time) ) && false === $uploads['error'] ))
200
+ return call_user_func($upload_error_handler, $file, $uploads['error']);
201
+
202
+ $filename = wp_unique_filename($uploads['path'], $file['name'], $unique_filename_callback);
203
+
204
+ // Move the file to the uploads dir
205
+ $new_file = $uploads['path'] . "/$filename";
206
+ if (false === @ move_uploaded_file($file['tmp_name'], $new_file)) {
207
+ if (0 === strpos($uploads['basedir'], ABSPATH))
208
+ $error_path = str_replace(ABSPATH, '', $uploads['basedir']) . $uploads['subdir'];
209
+ else
210
+ $error_path = basename($uploads['basedir']) . $uploads['subdir'];
211
+
212
+ return $upload_error_handler($file, sprintf(__('The uploaded file could not be moved to %s.'), $error_path));
213
+ }
214
+
215
+ // Set correct file permissions
216
+ $stat = stat(dirname($new_file));
217
+ $perms = $stat['mode'] & 0000666;
218
+ @ chmod($new_file, $perms);
219
+
220
+ // Compute the URL
221
+ $url = $uploads['url'] . "/$filename";
222
+
223
+ if (is_multisite())
224
+ delete_transient('dirsize_cache');
225
+
226
+ /**
227
+ * Filter the data array for the uploaded file.
228
+ *
229
+ * @since 2.1.0
230
+ *
231
+ * @param array $upload {
232
+ * Array of upload data.
233
+ *
234
+ * @type string $file Filename of the newly-uploaded file.
235
+ * @type string $url URL of the uploaded file.
236
+ * @type string $type File type.
237
+ * }
238
+ * @param string $context The type of upload action. Accepts 'upload' or 'sideload'.
239
+ */
240
+ return apply_filters('wp_handle_upload', array('file' => $new_file, 'url' => $url, 'type' => $type), 'upload');
241
+ }
242
+
243
  /**
244
  * Upload the image on server from version 2.0.4
245
  *
249
  $dir = null;
250
  $file = array();
251
 
252
+ $response = wp_remote_get($url, array('timeout' => 15));
253
+ $file = wp_upload_bits(urlencode(basename($url)), '', wp_remote_retrieve_body($response), $dir);
254
 
255
  $file['type'] = wp_remote_retrieve_header($response, 'content-type');
256
 
257
  if (!isset($file['error']) || $file['error'] == '')
258
  if (isset($file['url']) && $file['url'] <> '') {
 
259
  $file['filename'] = basename($file['url']);
260
 
261
  return $file;
372
  'value' => json_encode($args));
373
 
374
  $this->saveAdvMeta($post_id, $meta);
375
+
376
+ return json_encode($args);
377
+ }
378
+
379
+ public function getKeywordsFromPost($id) {
380
+ $post = get_post($id);
381
+ return $this->_getKeywordsbyDensity($post);
382
+ }
383
+
384
+ /**
385
+ * Get keyword by density from post
386
+ *
387
+ * @return array
388
+ */
389
+ private function _getKeywordsbyDensity($post) {
390
+ $keywords = array();
391
+ $content = '';
392
+
393
+ if (function_exists('preg_replace')) {
394
+ $content = strtolower(preg_replace('/[^a-zA-Z0-9-.]/', ' ', strip_tags($post->post_content)));
395
+ } else {
396
+ $content = strtolower(strip_tags($post->post_content));
397
+ }
398
+
399
+ $words = explode(" ", $content);
400
+ $phrases = $this->searchPhrase($content);
401
+
402
+ if ($post->post_title == '' || count($words) < 5) {
403
+ return false;
404
+ }
405
+
406
+ $common_words = "a,at,i,he,she,it,and,me,my,you,the,tags,hash,to,that,this,they,their";
407
+ $common_words = strtolower($common_words);
408
+ $common_words = explode(",", $common_words);
409
+ // Get keywords
410
+ $words_sum = 0;
411
+ foreach ($words as $value) {
412
+ $common = false;
413
+ $value = $this->trimReplace($value);
414
+ if (strlen($value) >= 3) {
415
+ foreach ($common_words as $common_word) {
416
+ if ($common_word == $value) {
417
+ $common = true;
418
+ }
419
+ }
420
+ if ($common != true) {
421
+ if (!preg_match("/http/i", $value) && !preg_match("/mailto:/i", $value)) {
422
+ $keywords[] = SQ_Tools::i18n($value);
423
+ $words_sum++;
424
+ }
425
+ }
426
+ }
427
+ }
428
+
429
+ $results = $results1 = $results2 = array();
430
+ if (is_array($keywords) && !empty($keywords)) {
431
+ // Do some maths and write array
432
+ $keywords = array_count_values($keywords);
433
+ arsort($keywords);
434
+
435
+ foreach ($keywords as $key => $value) {
436
+ $percent = 100 / $words_sum * $value;
437
+ if ($percent > 1) {
438
+ foreach ($phrases as $phrase => $count) {
439
+ if (strpos($phrase, $key) !== false && !in_array($phrase, $results)) {
440
+ if (strpos(strtolower($post->post_title), $phrase) !== false) {
441
+ return $phrase;
442
+ }
443
+ }
444
+ }
445
+ }
446
+ }
447
+ }
448
+ // Return array
449
+ return false;
450
+ }
451
+
452
+ public function searchPhrase($text) {
453
+ $words = explode(".", strtolower($text));
454
+ //print_r($words);
455
+ $frequencies = array();
456
+ foreach ($words as $str) {
457
+ $phrases = $this->twoWordPhrases($str);
458
+
459
+ foreach ($phrases as $phrase) {
460
+ $key = join(' ', $phrase);
461
+ if (!isset($frequencies[$key])) {
462
+ $frequencies[$key] = 0;
463
+ }
464
+ $frequencies[$key] ++;
465
+ }
466
+ }
467
+ arsort($frequencies);
468
+ if (sizeof($frequencies) > 10) {
469
+ $frequencies = array_slice($frequencies, 0, 10);
470
+ }
471
+ return $frequencies;
472
+ }
473
+
474
+ public function twoWordPhrases($str) {
475
+ $words = preg_split('#\s+#', $str, -1, PREG_SPLIT_NO_EMPTY);
476
+
477
+ $phrases = array();
478
+ if (count($words) > 2) {
479
+ foreach (range(0, count($words) - 2) as $offset) {
480
+ $phrases[] = array_slice($words, $offset, 2);
481
+ }
482
+ }
483
+ return $phrases;
484
+ }
485
+
486
+ /**
487
+ * Get the newlines out
488
+ *
489
+ * @return string
490
+ */
491
+ private function trimReplace($string) {
492
+ $string = trim($string);
493
+ return (string) str_replace(array("\r", "\r\n", "\n"), '', $string);
494
  }
495
 
496
  }
readme.txt CHANGED
@@ -1,55 +1,69 @@
1
- === SEO Plugin by SQUIRRLY ===
2
- Contributors: florinmuresan, calinvingan, cifi
3
- Tags: seo,seo optimization,seo content,seo plugin,squirly,squirrley,wordpress seo,content marketing strategy,marketing strategy,plugin,dutch,german,russian,romanian,search engine optimization,xml,sitemap,keyword,keyword research,post,posts,page,squirrly,tag,image,images,photos,flickr,statistics,google,content,title,description,favicon,apple,ios,andriod,mobile,canonical,author,googleplus,analytics,automation,admin,automatic seo,seo correction,seo title,seo meta,human friendly,title suggestion
4
  Requires at least: 3.3
5
- Tested up to: 3.8.2
6
  Stable tag: trunk
 
7
 
8
- Squirrly SEO Plugin is the Only SEO Tool that Allows You To Optimize Content And Measure Its Success. For Both Humans and Search Engines.
9
 
10
  == Description ==
11
- Squirrly helps you write content that's both Google Friendly and Human friendly. Excellent ballance between what search engine bots look for in your content and what Human readers crave for.
12
 
13
- [youtube https://www.youtube.com/watch?v=Bf5runIfod0&list=PLKizZr50E58ZZukX6x-rbXATdYSgAlXDA]
14
 
15
- Different customers, from areas such as e-commerce, law firms, digital agencies, online magazines, movie review sites, etc. have reported +285% increase in the number of readers, by optimizing their content with this tool, and by measuring and improving as advized by our tool.
16
 
17
- All-In-All :: Squirrly SEO will help you get a tool that acts like an Expert Consultant, sitting right next to you, advising on SEO, and telling you where you need to improve.
 
 
 
 
 
 
 
 
18
 
19
  Squirrly is a Freemium software, like MailChimp.
20
 
21
- You’ll start with the free version of Squirrly SEO. It will help you if you have small content marketing needs, such as 5 articles published / month, 5 keyword analysis and a weekly audit report. When you'll require more, you can pay for the PRO Plan.
22
 
23
  - <strong>Gives You SEO Advice as you're typing your articles.</strong> Squirrly helps you in real time to optimize your articles to 100%, while you are writing or editing them.
24
 
 
 
25
  - <strong>Optimized articles get +285% traffic,</strong> on average (real statistics from over 16,500 people who participated in the survey).
26
 
27
- - <strong>Finds you Keywords and Topics that your Customers actively search for</strong> and which will help you out-rank your competitors, not just follow them around
 
 
 
28
  - <strong>The algorithm for Keyword analysis</strong> takes into accounts elements that will help you find suitable keywords for content optimization: for Humans and for Search Engines.
29
 
30
- - <strong>Tracks all the aspects of your Content Marketing Strategy:</strong> Blogging, Traffic, SEO, Social Signals, Links, Authority. Every single week you get a report by email.
31
 
32
- - <strong>Send the Audit report by email</strong> to your content writer, SEO person, developers, etc.
33
 
34
  - <strong>It Gives You Professional Advice on How To Fix</strong> any of those areas that it helps track, so you can easily find out how to improve. Content from SEO Moz (recently just MOZ), Google, Authority Labs, etc.
35
 
36
- - <strong>Monitors Your Progress, week by week.</strong> You'll get interesting data about the historical performance of each article you write.
37
 
38
  - <strong>Analyze any single article. See how it improves over time.</strong>
39
 
40
  - <strong>Optimize Your Content for Humans.</strong> We've recently added tools and lessons (free of charge) that will help you optimize all of your Content for Humans, not just for search engines.
41
 
 
 
42
  - <strong>Stay up to date with your SEO and Social Signals, with our Email Alerts</strong>. We send out email alerts if something on your wordpress site needs immediate attention, so that you can act upon it and save your business the trouble.
43
 
44
- - <strong>Free Images that You Can Use.</strong>
45
 
46
  - <strong>Headline Suggestions based on your SEO keyword.</strong>
47
 
48
- - <strong>Social Intelligence through the Inspiration Box, to help you write better content, by showing you recent tweets about your subject, how other journalists and bloggers have approached your topic. All of this in your "Add New Post" interface.</strong>
49
-
50
- <strong>This is the FREE version of Squirrly SEO.</strong>
51
 
52
- You can now use Squirrly SEO for free and if you have small content marketing needs (about one article posted per week, some keywords that you want to analyze), it's the perfect plan for you.
53
 
54
  Once you start having bigger content marketing and SEO needs (more than one article posted per week), you can go PRO. Read more about it in the FAQ section.
55
 
@@ -62,35 +76,44 @@ Neil Patel, the co-founder of Kissmetrics and Crazy Egg, recommends us as one of
62
 
63
  * <em>"Features that exceed the stereotypical plugin"</em> - <strong>Robert, Yieldkit</strong>
64
 
65
- * <em>"It's amazing! seeing a huge boost in traffic"</em>
66
 
67
  * <em>"Great SEO info at a click"</em>
68
 
69
  <strong>You can read reviews from Internet Marketing experts on http://www.squirrly.co/reviews</strong>
70
 
 
 
 
 
 
 
 
 
 
 
71
  More than helping you with your internet marketing efforts, we strive to offer Excellence in Customer Service.
72
 
73
- - we have a Free Coaching session with 14 lessons and 10 actionable work files, awaiting you after you install the plugin and connect to squirrly.co
74
 
75
- - you'll be able to get support from us from the plugin, from our Facebook, our Twitter, email and we can even schedule a Skype call.
76
 
77
  We're passionate about seeing you get a great and happy experience, so we'll do our best to fix anything that may come up very fast.
78
 
79
  The <a title="Squirrly SEO in Delivering Happiness" href="http://www.deliveringhappiness.com/everyday-happiness-florin-squirrly-and-how-theyre-making-happy-work/" target="_blank">Delivering Happiness</a> blog featured us for this.
80
 
81
-
82
  We're glad to have you,
83
  Florin Muresan
84
- Founder and CEO Squirrly UK
85
 
86
 
87
- See all the Features of our product on the <a href="/extend/plugins/squirrly-seo/faq/" title="Squirrly Wordpress SEO"> FAQ Section </a>.
88
 
89
  <a href="/extend/plugins/squirrly-seo/screenshots/" title="Squirrly SEO Plugin">Check our screenshots</a>
90
- | <a href="http://www.squirrly.co" title="Squirrly SEO" target="_blank">Go to our official site</a> | Free Version (if you install from the WP directory) OR <a href="http://www.squirrly.co/pricing" title="See Pricing" target="_blank">Pricing Plans</a>
91
 
92
  == Installation ==
93
- 1. Log In as an Admin on your Wordpress blog.
94
  2. In the menu displayed on the left, there is a "Plugins" tab. Click it.
95
  3. Now click "Add New".
96
  4. There, you have the buttons: "Search | Upload | Featured | Popular | Newest". Click "Upload".
@@ -98,21 +121,138 @@ See all the Features of our product on the <a href="/extend/plugins/squirrly-seo
98
  6. After the upload is finished, click Activate Plugin.
99
  7. Good. Now enter your email to connect with Squirrly.co
100
  8. Then click "Write a New Post with Squirrly Seo".
101
- 9. Done. Type a keyword to the right of the screen and start using Squirrly Seo :) Enjoy!
 
 
 
102
 
103
  == Screenshots ==
104
- 1. Wordpress Seo by Squirrly - Optimize your article with SEO Live Assistant
105
- 2. Wordpress Seo by Squirrly - Find the top keywords with the Keyword Researh
106
- 3. Wordpress Seo by Squirrly - Customize the META with the SEO Snippet
107
- 4. Wordpress Seo by Squirrly - Find your top posts and authors with Squirrly Analytics
108
- 5. Wordpress Seo by Squirrly - Monitor your success with the Performance Analytics
109
- 6. Wordpress Seo by Squirrly - Let Squirrly do the SEO Settings that your blog needs
110
- 7. Wordpress Seo by Squirrly - Check your Weekly Site Audit and get higher scores
111
 
112
 
113
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  = 3.1.1 =
115
- * Added rel="prev" and rel="next" in head
116
  * Added SEO META Duplicates notification
117
  * Fixed the snippet for home page when the home is a specific page
118
  * Added more details in SEO Analytics
@@ -121,7 +261,7 @@ See all the Features of our product on the <a href="/extend/plugins/squirrly-seo
121
  = 3.1.0 =
122
  * Added the Performance Analytics in Squirrly SEO Tab
123
  * Added Analytics filter for custom post types
124
- * Added Google Rank Column in Squirrly SEO > Performance Analytics
125
  * Added Google Country Select in Squirrly SEO > Settings
126
 
127
  = 3.0.0 =
@@ -130,148 +270,17 @@ See all the Features of our product on the <a href="/extend/plugins/squirrly-seo
130
  * Added the traffic date information in Squirrly SEO Analytics
131
  * Fixed the Favicon issue for PNG images
132
 
133
- = 2.3.3 =
134
- * Fixed the curl call issue in some cases
135
- * Fixed the traffic loading speed in all posts
136
- * Changed the task color for Squirrly SEO Analytics
137
- * Changed the Keyword SERP check frequency
138
- * Fixed minor bugs in SEO Live Assistant
139
- * Enjoy Squirrly SEO!
140
-
141
- = 2.3.1 =
142
- * Fixed the javascript loading issue for some wordpress dashboards.
143
- * Fixed SERP report for indexed url in google
144
-
145
- = 2.3.0 =
146
- * Add the new Squirrly SEO Analytics in all posts list
147
- * Traffic graph for each post
148
-
149
- = 2.2.3 =
150
- * Fixed snippet encoding issue
151
- * Fixed SEO Audit Button notification
152
-
153
- = 2.2.2 =
154
- * Small changes in Squirrly SEO Keyword Research look
155
- * Fixed the snippet description issues
156
- * Fixed small bugs
157
-
158
- = 2.2.1 =
159
- * Fixed traffic record issue
160
- * Fixed SSL connection with the API issue
161
-
162
- = 2.2.0 =
163
- * Added a new theme for Squirrly SEO
164
- * Added the 2nd version for SEO Live assistant
165
- * Added Top Headline suggestion when adding a post title
166
- * Compatible with Wordpress 3.8.1 version
167
- * Fixed snippet issues
168
-
169
- = 2.1.7 =
170
- * Compatible with Wordpress 3.8 version
171
- * Fixed css issue
172
- * Updated the SEO live assistant
173
-
174
- = 2.1.6 =
175
- * Fixed css load issue
176
- * Fixed duplicate descriptions
177
-
178
- = 2.1.5 =
179
- * Compatible with 3.7.1
180
- * Update Open Graph Meta in Frontend
181
- * Updates for Seo Live Assistant
182
-
183
- = 2.1.4 =
184
- * Update the Traffic Bot List
185
- * Fixed database bugs for the traffic records
186
- * Fixed header loading bugs
187
-
188
- = 2.1.3 =
189
- * Optimized Squirrly SEO for a faster load
190
- * Fixed minor bugs in the theme's css files
191
- * Added Alexa Meta Tool in Squirrly SEO Settings
192
- * Updated the bot list in SEO Squirrly Article Rank
193
-
194
- = 2.1.2 =
195
- * Added unique SEO (title and description) for the author, tag and category pages
196
- * Fixed Open Graph image size and image url for a better view in facebook and google
197
- * Fixed some deprecated functions
198
- * Wordpress 3.6.1 compatibility
199
-
200
- = 2.1.1 =
201
- * Fixed absolute path for images in feed
202
- * Fixed unique title and description for categories and pages
203
- * Fixed local save images minor bug
204
- * Fixed keyword saving for main domain optimization
205
- * Changed the blog limit and optimization limit for the free account
206
- * Added the weekly SEO audit for all accounts
207
-
208
- = 2.1.0 =
209
- * Added Squirrly SEO Live Assistant for both Visual and HTML editors
210
- * Added Squirrly SEO for custom post types
211
- * Compatible with the Wordpress version 3.6
212
- * Fixed the type delay for Seo Live Assistant
213
-
214
- = 2.0.8 =
215
- * Fixed the custom SEO Title and Description notification in posts list
216
- * Changed the default SEO Settings
217
- * Fixed image insert in editor
218
- * Fixed minor bug that appeared on plugin activation
219
- * Fixed Squirrly SEO local save for remote images
220
-
221
- = 2.0.7 =
222
- * Added the Squirrly SEO Traffic Progress report
223
- * Fixed minor frontend bugs
224
- * Fixed the date in sitemap for tags
225
-
226
- = 2.0.6 =
227
- (stable)
228
- * Fixed header issue for remote requests
229
- * Added SSL connection to https://my.squirrly.co
230
- * Fixed post list loading issue in some cases
231
- * Fixed Squirrly SEO Status Info for expired trial version
232
-
233
- = 2.0.5 =
234
- * Fixed Squirrly SEO loading loop when all posts are not public in All posts
235
- * Add default message in SEO Article Rank when adding a new Post/Page
236
- * Added support options in Squirrly SEO Settings
237
- * Added the Russian (ru_RU) translation in Squirly SEO
238
- * Check calls for HTTPS when curl protocol could not support that
239
-
240
- = 2.0.4 =
241
- * Added Custom Title/Description option in all Post/Pages
242
- * Added SEO check if custom title is entered in Post/Page
243
- * Added SEO check for META customization with other plugins
244
- * Custom META notification in All Posts
245
- * Added Dashboard page in Squirrly SEO Tab
246
- * Added Account information, Blog status in dashboard
247
- * Added affiliate option and images in Squirrly SEO Tab
248
- * Validate remote images on save post to prevent bad images integration
249
- * Compatible with Twitter search 1.1
250
- * Changed the Sign-up messages
251
- * Changed the timeout for remote API requests
252
-
253
- = 2.0.3 =
254
- * Added attributes informations for copyright free images
255
- * Improved the Keyword Research results with competition results
256
- * Improved custom META description and keywords
257
-
258
- = 2.0.2 =
259
- * Fixed minor Squirrly SEO Rank Bugs
260
- * Fixed minor Snippet/Settings issues
261
- * Added the Squirrly Keyword Suggestion in Squirrly Rank
262
-
263
- = 2.0.1 =
264
- * Added Squirrly SEO Rank in Post/Page lists
265
- * Added Traffic progress monitor for each post/page
266
- * Added Social Impact progress monitor for each post/page
267
- * Added Inbound Links progress monitor for each post/page
268
 
269
  == Credits ==
270
  Florin Muresan - CEO at Squirrly
271
  Calin Vingan - CTO at Squirrly
272
  Andreea Leau - VP Marketing
273
  Cristina Leau - Squirrly mascot designer
274
- Alexandra Nicola - Content Writer
 
 
 
275
 
276
  Investors:
277
  Ibrahim Evsan, serial entrepreneur, one of the best known bloggers in Germany
@@ -288,7 +297,11 @@ For higher content marketing and SEO needs, you can check our Official Site and
288
 
289
 
290
  == Frequently Asked Questions ==
291
- = How does Squirrly Wordpress SEO Plugin work? =
 
 
 
 
292
  Neil Patel, the Co-Founder of Kissmetrics and Crazy Egg made a great video on how to use Squirrly's Live Assistant:
293
  http://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/
294
 
@@ -301,7 +314,7 @@ You can opt-in to use the Advanced SEO Settings, which will allow you to customi
301
  Yes, you just have to install the plugin from the WP directory into your site. Then connect with your email to Squirrly. The Free Version will automatically start. Read below for more. Once you have bigger content marketing needs, you can opt-in to upgrade to the PRO Plan.
302
 
303
  = Does the Free Plan offer all the features? =
304
- Yes. As of January 2014 all the features are also included in the free plan. There is NO trial period, NO other features that can be activated by paying money for the plugin. The free version has all a small wordpress site or blog needs to get started with SEO and Content Marketing. These are the blogs on which owners want to publish about 5 articles / month, analyze 5 different seo keywords, need a general Audit of their whole site and want to see the SEO analytics for their last posts.
305
 
306
  = What about the PRO Plan? =
307
  The PRO Plan is for those with bigger content marketing and SEO needs. For anything regarding the paid plans, go to our website: squirrly.co | The wordpress directory listing is only to be used for concerns regarding the Free version. You can get the PRO Plan after you've installed the plugin from this directory.
@@ -314,7 +327,7 @@ Yes, you can use the tweets and the paragraphs in your articles. They contain a
314
  articles add only some paragraphs, not the whole article. As for the images, you can use the Copyright-Free images that we offer, to make sure you will
315
  not have any legal problems. Follow the license-compliance guidance we offer for each of them.
316
 
317
- = Do I get support for your Wordpress SEO Plugin? =
318
  Yes, we are focused on Delivering Happiness and this comes along with a good support package. We have a track record of replying in under 5 hours to
319
  any request, no matter the time of day. And we also fix any problems which you may encounter very fast, so Squirrly is trust-worthy.
320
 
@@ -323,7 +336,7 @@ All of the features that we offer have been built having the customer's best int
323
  and we've proven time and again that we are a great team that knows all there is to know about good *SEO automation*. We had a community of 20,000 blogs that all
324
  used our SEO techniques, and they have gotten lots of hits from search engines due to our optimization. Now we offer the same quality for you:
325
 
326
- [UPDATE] Squirrly now has over 300,000 downloads, so we've been offering great software for over a year now.
327
 
328
  - SEO Advice as you're typing your articles
329
  - Advice in real time from the SEO Live Assistant on how to write better content for your Human readers
@@ -375,10 +388,18 @@ used our SEO techniques, and they have gotten lots of hits from search engines d
375
  And the best ones that we have (and the others don't):
376
 
377
  - *Keyword research and Analysis*: find the keywords that are easier to rank for
378
- - *SEO Live Assistant*: Your Wordpress gives you SEO adivce as you type your article
379
  - *Inspiration box*: get images you can use for free, tweets you can quote and get up to date with latest news about your subject
380
  - *SEO Rank*: Measure and Monitor the impact of SEO and Social Signals for each of your articles
381
 
382
  = Where can I enter the title and page description? =
383
  If you click the Squirrly tab in your dashboard, go to the "First Page Optimization" section and switch to Custom. You can enter custom Title, Description and Keywords.
384
- If you are an advanced user then in each post/page edit you can customize the title and description from snippet section
 
 
 
 
 
 
 
 
1
+ === SEO by SQUIRRLY ===
2
+ Contributors: cifi, calinvingan, florinmuresan
3
+ Tags: seo,seo optimization,seo content,seo plugin,wordpress seo,plugin,content seo,search engine optimization,xml,sitemap,keyword,keyword research,post,posts,page,squirrly,tag,image,images,photos,flickr,statistics,stats,google,content,title,description,favicon,mobile,canonical,author,google plus,analytics,admin,seo correction,seo title,seo meta,meta,google,twitter,news,blog,e-commerce,ecommerce,woocommerce,feed,feeds,marketing,multisite,buddypress,social,social media,url,automatic,iphone
4
  Requires at least: 3.3
5
+ Tested up to: 4.2
6
  Stable tag: trunk
7
+ Donate link: https://www.squirrly.co
8
 
9
+ SEO Plugin By Squirrly is for the NON-SEO experts. Get Excellent Seo with Better Content, Ranking and Analytics. For Both Humans and Search Bots.
10
 
11
  == Description ==
12
+ Squirrly SEO helps you write content that is SEO friendly and ALSO Human friendly. You'll get to improve your rankings, while providing your readers with great content. See Your SEO Stats, get a weekly SEO Audit and find some great keywords. It works well with wordpress sites that already have Yoast or All In One SEO. You can opt-in to keep those settings, so no need to start over again :-)
13
 
14
+ Recommended by <a href="http://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/" >Neil Patel</a>, the co-founder of Kissmetrics and Crazy Egg. Also by Brian Dean and over 100 content marketing experts
15
 
16
+ [youtube https://www.youtube.com/watch?v=mEjrE7TuDDc]
17
 
18
+ See all the Squirrly SEO features at: http://bit.ly/1lV9dX6
19
+
20
+ Based on the topic you're writing about, the interface will light up green while you're editing your text, so that you know you've done something right. When all the lights are green, you can publish it, because your text has excellent SEO and it's 100% optimized.
21
+
22
+ Different customers, from areas such as e-commerce, law firms, digital agencies, online magazines, movie review sites, etc. have reported +285% increase in the number of readers, by optimizing their content with this seo plugin, and by measuring and improving as advized by our tool.
23
+
24
+ All-In-All: Squirrly SEO will help you get a tool that acts like an Expert Consultant, sitting right next to you, advising on SEO, and telling you where you need to improve.
25
+
26
+ The best things is: YOU DON'T have to be an SEO expert to use it. Wait, you don't even need to know about all that. Squirrly will help you write great content, will show you where your wordpress needs improvements and it will even help you learn all about content marketing and seo strategies through email trainings.
27
 
28
  Squirrly is a Freemium software, like MailChimp.
29
 
30
+ You’ll start with the free version of Squirrly SEO. It will help you if you have small content marketing needs, such as 3 articles published / month, 5 keyword analysis and a weekly audit report. When you'll require more, you can pay for the PRO Plan.
31
 
32
  - <strong>Gives You SEO Advice as you're typing your articles.</strong> Squirrly helps you in real time to optimize your articles to 100%, while you are writing or editing them.
33
 
34
+ - <strong>Green lights turn on everytime you do something right.</strong> When all the lights turn green, you can publish or schedule the article because it has excellent seo.
35
+
36
  - <strong>Optimized articles get +285% traffic,</strong> on average (real statistics from over 16,500 people who participated in the survey).
37
 
38
+ - <strong>SEO Settings remain</strong>. If you already made your SEO settings for WordPress with other plugins, you can keep using those and Squirrly won't override them. No need to start all over. We'd hate to have you do that.
39
+
40
+ - <strong>Finds you Keywords and Topics that your Customers actively search for</strong> and which will help you out-rank your competitors, not just follow them around the serps
41
+
42
  - <strong>The algorithm for Keyword analysis</strong> takes into accounts elements that will help you find suitable keywords for content optimization: for Humans and for Search Engines.
43
 
44
+ - <strong>Tracks all the aspects of your Content Marketing Strategy:</strong> Blogging, Traffic, SEO, Social Signals, Links, Authority. Every single week you get a new report by email.
45
 
46
+ - <strong>Send the Audit report by email</strong> to your content writer, SEO person, developers, or to your boss.
47
 
48
  - <strong>It Gives You Professional Advice on How To Fix</strong> any of those areas that it helps track, so you can easily find out how to improve. Content from SEO Moz (recently just MOZ), Google, Authority Labs, etc.
49
 
50
+ - <strong>Monitors Your Progress, week by week.</strong> You'll get interesting data about the historical performance of each article you write and find out how to improve its seo ranking.
51
 
52
  - <strong>Analyze any single article. See how it improves over time.</strong>
53
 
54
  - <strong>Optimize Your Content for Humans.</strong> We've recently added tools and lessons (free of charge) that will help you optimize all of your Content for Humans, not just for search engines.
55
 
56
+ - <strong>Write Better Content.</strong> We help you build up seo content that is also great-to-read for Human readers and helps you build up some valuable and subtle SEO.
57
+
58
  - <strong>Stay up to date with your SEO and Social Signals, with our Email Alerts</strong>. We send out email alerts if something on your wordpress site needs immediate attention, so that you can act upon it and save your business the trouble.
59
 
60
+ - <strong>Copyright-Free Images That You Can Use.</strong>
61
 
62
  - <strong>Headline Suggestions based on your SEO keyword.</strong>
63
 
64
+ - <strong>Social Intelligence through the Inspiration Box, to help you write better content. Shows you recent tweets about your subject, how other journalists and bloggers have approached your topic. All of this in your "Add New Post" interface.</strong>
 
 
65
 
66
+ You can use Squirrly SEO for free and if you have small content marketing needs (about one article posted per week, some keywords that you want to analyze), then it's the perfect plan for you.
67
 
68
  Once you start having bigger content marketing and SEO needs (more than one article posted per week), you can go PRO. Read more about it in the FAQ section.
69
 
76
 
77
  * <em>"Features that exceed the stereotypical plugin"</em> - <strong>Robert, Yieldkit</strong>
78
 
79
+ * <em>"It's amazing! Seeing a huge boost in traffic"</em>
80
 
81
  * <em>"Great SEO info at a click"</em>
82
 
83
  <strong>You can read reviews from Internet Marketing experts on http://www.squirrly.co/reviews</strong>
84
 
85
+ Over 820,000 Downloads. Our startup consists of 7 content marketing professionals dedicated to making Squirrly an amazing piece of software and writing great training materials to help you be successful and stay successful.
86
+
87
+ Over 120 Content Marketing Experts have reviewed our wordpress SEO plugin and loved it.
88
+
89
+ Over 650 students to our $147 Content Marketing Training on Udemy. Part of that training you'll be receiving for free when signing up for this wordpress seo plugin.
90
+
91
+ +285% increase in traffic to over 36,500 survey participants.
92
+
93
+ Recently our team grew to 7 people
94
+
95
  More than helping you with your internet marketing efforts, we strive to offer Excellence in Customer Service.
96
 
97
+ - we have a Free Training session with 14 lessons and 10 actionable work files, awaiting you after you install the plugin and connect to squirrly.co (you'll receive them by email)
98
 
99
+ - you'll be able to get support from us from the plugin, from our Facebook, our Twitter, email and we can even schedule a Skype call, if fixes are needed
100
 
101
  We're passionate about seeing you get a great and happy experience, so we'll do our best to fix anything that may come up very fast.
102
 
103
  The <a title="Squirrly SEO in Delivering Happiness" href="http://www.deliveringhappiness.com/everyday-happiness-florin-squirrly-and-how-theyre-making-happy-work/" target="_blank">Delivering Happiness</a> blog featured us for this.
104
 
 
105
  We're glad to have you,
106
  Florin Muresan
107
+ CEO of Squirrly
108
 
109
 
110
+ See all the Features of our product on the <a href="/extend/plugins/squirrly-seo/faq/" title="Squirrly WordPress SEO"> FAQ Section </a>.
111
 
112
  <a href="/extend/plugins/squirrly-seo/screenshots/" title="Squirrly SEO Plugin">Check our screenshots</a>
113
+ | <a href="http://www.squirrly.co/wordpress-seo-by-squirrly" title="Squirrly SEO" target="_blank">Go to our official site</a> | Free Version (if you install from the WP directory) OR <a href="http://www.squirrly.co/pricing" title="See Pricing" target="_blank">Pricing Plans</a>
114
 
115
  == Installation ==
116
+ 1. Log In as an Admin on your WordPress blog.
117
  2. In the menu displayed on the left, there is a "Plugins" tab. Click it.
118
  3. Now click "Add New".
119
  4. There, you have the buttons: "Search | Upload | Featured | Popular | Newest". Click "Upload".
121
  6. After the upload is finished, click Activate Plugin.
122
  7. Good. Now enter your email to connect with Squirrly.co
123
  8. Then click "Write a New Post with Squirrly Seo".
124
+ 9. Done. Start getting Excellent SEO on wordpress
125
+ 10. The Email Lessons will help you become a great content marketer. Our content Marketing Class on Udemy has over 600 students and the price is $147. You're getting all that for free, by email.
126
+
127
+ Type a keyword to the right of the screen and start using Squirrly Seo. Enjoy!
128
 
129
  == Screenshots ==
130
+ 1. Seo - Optimize your article with SEO Live Assistant
131
+ 2. Seo - Find the top keywords with the Keyword Researh
132
+ 3. Seo - Customize the META with the SEO Snippet
133
+ 4. Seo - Find your top posts and authors with Squirrly Analytics
134
+ 5. Seo - Monitor your success with the Performance Analytics
135
+ 6. Seo - Let Squirrly do the SEO Settings that your blog needs
136
+ 7. Seo - Check your Weekly Site Audit and improve to get higher scores
137
 
138
 
139
  == Changelog ==
140
+ = 3.4.4 =
141
+ * Updated the Twitter Card information
142
+ * Compatible with WP 4.1.1
143
+ * Fixed the SEO Analytics and the Rank updates
144
+ * Fixed the SEO for First Page if the Home Page is not a static page
145
+ * Fixed the SEO for the First Page when it starts with woocommerce shop
146
+
147
+ = 3.4.3 =
148
+ * Add the option to prevent downloading the remote images in the blog media library for the new posts
149
+ * Add support for custom admin user roles
150
+
151
+ = 3.4.2 =
152
+ * Fixed some queries for a better speed in backend
153
+ * Fixed Open Graph for Home Page
154
+ * Fixed empty description for the Woocommerce shop page
155
+
156
+ = 3.4.1 =
157
+ * Compatible with WP 4.0.1
158
+
159
+ = 3.3.9 =
160
+ * Fixed SEO snippet preview compatibility with the WP 4.0
161
+
162
+ = 3.3.8 =
163
+ * Fixed SEO issues for some themes in frontend
164
+ * Fixed the audit to load faster
165
+ * Added the google hreflang meta for language identification
166
+ * Added strict search for google in SEO Settings
167
+
168
+ = 3.3.7 =
169
+ * Fixed the keywords SEO settings for the first page optimization
170
+ * Fixed the image resize on drag-drop from inspiration box
171
+ * Fixed the highlight in Seo Live Assistant not to disappear when you click on keyword
172
+ * Fixed the SEO check lag for meta duplicates in backend
173
+
174
+ = 3.3.5 =
175
+ * Added Tag to Meta Keyword option in Settings
176
+ * Fixed some bugs related to SEO Audit
177
+ * Fixed the og:image issue for featured post images in WP4
178
+
179
+ = 3.3.4 =
180
+ * Compatible with WP 4.0
181
+ * Fixed various issues
182
+ * Update the Google Analytics tracking code to work with cache plugins
183
+ * Fixed the sitemap update date issue
184
+ * Fixed the Home Page Seo settings to work with the front-page snippet
185
+ * Compatible with Wp Fastest Cache plugin, WP Super Cache
186
+
187
+ = 3.3.3 =
188
+ * Added the new Google Analytics tracking code
189
+ * Update the Seo Live Assistant
190
+
191
+ = 3.3.2 =
192
+ * Compatible with WP 3.9.2
193
+ * Added google.cz for google ranking in Performance Analytics
194
+
195
+ = 3.3.1 =
196
+ * Fixed post snippet issues when the home-page description is switch off
197
+
198
+ * Updated the Squirrly Seo plugin icon
199
+
200
+ = 3.3.0 =
201
+ * Added the google localization country in search ranking
202
+ * Fixed on-boarding video link
203
+ * Fixed seo title issue for home-page
204
+
205
+ = 3.2.7 =
206
+ * Fixed small issue for background ranking grabber
207
+ * Fixed google country select in Seo Settings
208
+ * Fixed css and js load for some WordPress themes
209
+
210
+ = 3.2.5 =
211
+ * Fixed default country and langage in rank check
212
+ * Fixed the Copyright Free search images
213
+
214
+ = 3.2.3 =
215
+ * Fixed onboarding process
216
+ * Fixed Audit broken link
217
+ * Fixed Rank check issues for some situations
218
+
219
+ = 3.2.2 =
220
+ * Added the Custom Open Graph Image upload in Squirrly Snippet
221
+ * Speed improvements
222
+
223
+ = 3.2.1 =
224
+ * Improved SEO Stats for Google Rankings by Country
225
+ * SEO Settings out-of-the-box, but also works awesome if you have the settings already done with All In One SEO or Yoast (wordpress seo)
226
+
227
+ = 3.2 =
228
+ * Fixed serp check rate to prevent IP block
229
+
230
+ = 3.1.9 =
231
+ * Fixed css issues for some cases
232
+ * Fixed the "See Analytics" loading issue
233
+
234
+ = 3.1.8 =
235
+ * Fixed serp cron with the google last changes
236
+ * Changed the cron rate for serp search
237
+ * Added force recheck for google rank in SEO Analytics
238
+
239
+ = 3.1.6 =
240
+ * Compatible with WP 3.9.1
241
+
242
+ = 3.1.5 =
243
+ * Fixed cache issues
244
+ * Fixed login/sign-up jQuery conflicts
245
+
246
+ = 3.1.4 =
247
+ * Removed the traffic monitor (to increase the site speed and analytics)
248
+
249
+ = 3.1.2 =
250
+ * Compatible with WP 3.9
251
+ * Fixed Squirrly SEO Live Assistant issue in WP 3.9
252
+ * Fixed SEO Analytics in WP 3.9
253
+
254
  = 3.1.1 =
255
+ * Added rel="prev" and rel="next" in header
256
  * Added SEO META Duplicates notification
257
  * Fixed the snippet for home page when the home is a specific page
258
  * Added more details in SEO Analytics
261
  = 3.1.0 =
262
  * Added the Performance Analytics in Squirrly SEO Tab
263
  * Added Analytics filter for custom post types
264
+ * Added Google SEO Rank Column in Squirrly SEO > Performance Analytics
265
  * Added Google Country Select in Squirrly SEO > Settings
266
 
267
  = 3.0.0 =
270
  * Added the traffic date information in Squirrly SEO Analytics
271
  * Fixed the Favicon issue for PNG images
272
 
273
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
 
275
  == Credits ==
276
  Florin Muresan - CEO at Squirrly
277
  Calin Vingan - CTO at Squirrly
278
  Andreea Leau - VP Marketing
279
  Cristina Leau - Squirrly mascot designer
280
+ Alexandra Nicola - Content Writer, future COO
281
+ Teodora Vingan - SEO Analyser
282
+ Ana Darstaru - Content Writer
283
+ Teo - SEO Consultant
284
 
285
  Investors:
286
  Ibrahim Evsan, serial entrepreneur, one of the best known bloggers in Germany
297
 
298
 
299
  == Frequently Asked Questions ==
300
+ = I can't log into the wordpress with my user. Get the message 'An error occured.' What can I do? =
301
+ I see that your host server is not letting you to access our remote API.
302
+ Please tell your web master to add the IP 144.76.66.106 in the white-list for remote access and it should work.
303
+
304
+ = How does Squirrly WordPress SEO Plugin work? =
305
  Neil Patel, the Co-Founder of Kissmetrics and Crazy Egg made a great video on how to use Squirrly's Live Assistant:
306
  http://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/
307
 
314
  Yes, you just have to install the plugin from the WP directory into your site. Then connect with your email to Squirrly. The Free Version will automatically start. Read below for more. Once you have bigger content marketing needs, you can opt-in to upgrade to the PRO Plan.
315
 
316
  = Does the Free Plan offer all the features? =
317
+ Yes. As of January 2014 all the features are also included in the free plan. There is NO trial period, NO other features that can be activated by paying money for the plugin. The free version has all a small wordpress site or blog needs to get started with SEO and Content Marketing. These are the blogs on which owners want to publish about 3 articles / month, analyze 5 different seo keywords, need a general Audit of their whole site and want to see the SEO analytics for their last posts.
318
 
319
  = What about the PRO Plan? =
320
  The PRO Plan is for those with bigger content marketing and SEO needs. For anything regarding the paid plans, go to our website: squirrly.co | The wordpress directory listing is only to be used for concerns regarding the Free version. You can get the PRO Plan after you've installed the plugin from this directory.
327
  articles add only some paragraphs, not the whole article. As for the images, you can use the Copyright-Free images that we offer, to make sure you will
328
  not have any legal problems. Follow the license-compliance guidance we offer for each of them.
329
 
330
+ = Do I get support for your WordPress SEO Plugin? =
331
  Yes, we are focused on Delivering Happiness and this comes along with a good support package. We have a track record of replying in under 5 hours to
332
  any request, no matter the time of day. And we also fix any problems which you may encounter very fast, so Squirrly is trust-worthy.
333
 
336
  and we've proven time and again that we are a great team that knows all there is to know about good *SEO automation*. We had a community of 20,000 blogs that all
337
  used our SEO techniques, and they have gotten lots of hits from search engines due to our optimization. Now we offer the same quality for you:
338
 
339
+ [UPDATE] Squirrly now has over 500,000 downloads, so we've been offering great software for over a year now.
340
 
341
  - SEO Advice as you're typing your articles
342
  - Advice in real time from the SEO Live Assistant on how to write better content for your Human readers
388
  And the best ones that we have (and the others don't):
389
 
390
  - *Keyword research and Analysis*: find the keywords that are easier to rank for
391
+ - *SEO Live Assistant*: Your WordPress gives you SEO adivce as you type or Edit your article
392
  - *Inspiration box*: get images you can use for free, tweets you can quote and get up to date with latest news about your subject
393
  - *SEO Rank*: Measure and Monitor the impact of SEO and Social Signals for each of your articles
394
 
395
  = Where can I enter the title and page description? =
396
  If you click the Squirrly tab in your dashboard, go to the "First Page Optimization" section and switch to Custom. You can enter custom Title, Description and Keywords.
397
+ If you are an advanced user then in each post/page edit you can customize the title and description from snippet section
398
+
399
+ = Is this wordpress seo plugin the only seo plugin I will need to install? =
400
+ It all depends on how you have setup your wordpress until now. Some people use Squirrly seo plugin only for the Content Optimization with the Live Assistant part, some use use it to check their SEO stats and see where they need to improve their wordpress seo, but most of our users and customer use Squirrly for everything related to SEO: from keyword analysis, to seo settings on wordpress, to analytics and to weekly monitoring and audit reports.
401
+
402
+ == Upgrade Notice ==
403
+
404
+ = 3.4.4 =
405
+ 3.4.4 is an important update. We improved the on-page SEO , added Google language identification, latest updates for Open graph, improved the SEO for Woocommerce plugin. We do not offer support for lower versions od Squirrly SEO
squirrly.php CHANGED
@@ -1,62 +1,63 @@
1
  <?php
2
 
3
  /*
4
- Copyright (c) 2012, Squirrly Limited.
5
  The copyrights to the software code in this file are licensed under the (revised) BSD open source license.
6
 
7
- Plugin Name: SEO Plugin by SQUIRRLY
8
- Plugin URI: https://my.squirrly.co
9
- Description: Squirrly helps you write content that's both Google Friendly and Human friendly. Excellent ballance between what search engine bots look for in your content and what Human readers crave for.<BR> <a href="http://my.squirrly.co/user" target="_blank"><strong>Check your profile</strong></a>
10
- Author: cifi, calinvingan, florinmuresan, lucianpacurar
11
- Version: 3.1.1
12
  Author URI: http://www.squirrly.co
13
  */
14
- /* SET THE CURRENT VERSION ABOVE AND BELOW */
15
- define('SQ_VERSION', '3.1.1');
16
 
 
 
17
  /* Call config files */
18
- require(dirname(__FILE__) . '/config/config.php');
19
-
20
- /* important to check the PHP version */
21
- if (PHP_VERSION_ID >= 5100) {
22
- /* inport main classes */
23
- require_once(_SQ_CLASSES_DIR_ . 'SQ_ObjController.php');
24
- require_once(_SQ_CLASSES_DIR_ . 'SQ_BlockController.php');
25
-
26
- /* Main class call */
27
- $fc = SQ_ObjController::getController('SQ_FrontController', false);
28
- $fc->run();
29
-
30
- if (!is_admin()) {
31
- SQ_ObjController::getController('SQ_Frontend');
 
 
 
 
 
 
 
32
  }
33
 
34
- add_action('sq_processCron', array(SQ_ObjController::getController('SQ_Ranking', false), 'processCron'));
35
- } else {
36
- /* Main class call */
37
- add_action('admin_init', 'phpError');
38
- }
39
-
40
- /**
41
- * Show PHP Error message if PHP is lower the required
42
- */
43
- function phpError() {
44
- add_action('admin_notices', 'showError');
45
- }
46
 
47
- /**
48
- * Called in Notice Hook
49
- */
50
- function showError() {
51
- echo '<div class="update-nag"><span style="color:red; font-weight:bold;">' . __('For Squirrly to work, the PHP version has to be equal or greater then 5.1', _SQ_PLUGIN_NAME_) . '</span></div>';
52
- }
53
 
54
  // --
55
- /**
56
- * Upgrade Squirrly call.
57
- */
58
- //add_action('upgrader_process_complete', array(SQ_ObjController::getController('SQ_Tools', false), 'sq_activate'));
59
- register_activation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_activate'));
60
- register_deactivation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_deactivate'));
61
 
62
 
1
  <?php
2
 
3
  /*
4
+ Copyright (c) 2012, SEO Squirrly.
5
  The copyrights to the software code in this file are licensed under the (revised) BSD open source license.
6
 
7
+ Plugin Name: SEO by SQUIRRLY
8
+ Plugin URI: http://www.squirrly.co
9
+ Description: SEO Plugin By Squirrly is for the NON-SEO experts. Get Excellent Seo with Better Content, Ranking and Analytics. For Both Humans and Search Bots.<BR> <a href="http://my.squirrly.co/user" target="_blank"><strong>Check your profile</strong></a>
10
+ Author: cifi, calinvingan, florinmuresan
11
+ Version: 3.4.4
12
  Author URI: http://www.squirrly.co
13
  */
 
 
14
 
15
+ /* SET THE CURRENT VERSION ABOVE AND BELOW */
16
+ define('SQ_VERSION', '3.4.4');
17
  /* Call config files */
18
+ if (file_exists(dirname(__FILE__) . '/config/config.php')) {
19
+ require(dirname(__FILE__) . '/config/config.php');
20
+
21
+ /* important to check the PHP version */
22
+ if (PHP_VERSION_ID >= 5100) {
23
+ /* inport main classes */
24
+ require_once(_SQ_CLASSES_DIR_ . 'SQ_ObjController.php');
25
+ require_once(_SQ_CLASSES_DIR_ . 'SQ_BlockController.php');
26
+
27
+ /* Main class call */
28
+ $fc = SQ_ObjController::getController('SQ_FrontController', false);
29
+ $fc->run();
30
+
31
+ if (!is_admin()) {
32
+ SQ_ObjController::getController('SQ_Frontend');
33
+ }
34
+
35
+ add_action('sq_processCron', array(SQ_ObjController::getController('SQ_Ranking', false), 'processCron'));
36
+ } else {
37
+ /* Main class call */
38
+ add_action('admin_init', 'phpError');
39
  }
40
 
41
+ /**
42
+ * Show PHP Error message if PHP is lower the required
43
+ */
44
+ function phpError() {
45
+ add_action('admin_notices', 'showError');
46
+ }
 
 
 
 
 
 
47
 
48
+ /**
49
+ * Called in Notice Hook
50
+ */
51
+ function showError() {
52
+ echo '<div class="update-nag"><span style="color:red; font-weight:bold;">' . __('For Squirrly to work, the PHP version has to be equal or greater then 5.1', _SQ_PLUGIN_NAME_) . '</span></div>';
53
+ }
54
 
55
  // --
56
+ /**
57
+ * Upgrade Squirrly call.
58
+ */
59
+ register_activation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_activate'));
60
+ register_deactivation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_deactivate'));
61
+ }
62
 
63
 
themes/default/SQ_BlockAnalytics.php CHANGED
@@ -273,7 +273,9 @@
273
  </ul>
274
  </div>
275
  <?php } ?>
 
276
  </div>
 
277
  <script>
278
  jQuery('.sq_analytics_tasks_video_cover').unbind('click').bind('click', function() {
279
  jQuery(this).html('<object width="280" height="158"><param name="movie" value="https://www.youtube.com/v/' + jQuery(this).attr('rel') + ((jQuery(this).attr('rel').indexOf('?') != -1) ? '&' : '?') + 'version=3&amp;hl=en_US&amp;autoplay=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/' + jQuery(this).attr('rel') + ((jQuery(this).attr('rel').indexOf('?') != -1) ? '&' : '?') + 'version=3&amp;hl=en_US&amp;autoplay=1" type="application/x-shockwave-flash" width="280" height="158" allowscriptaccess="always" allowfullscreen="true"></embed></object>');
273
  </ul>
274
  </div>
275
  <?php } ?>
276
+ <?php echo $view->audit->message ?>
277
  </div>
278
+
279
  <script>
280
  jQuery('.sq_analytics_tasks_video_cover').unbind('click').bind('click', function() {
281
  jQuery(this).html('<object width="280" height="158"><param name="movie" value="https://www.youtube.com/v/' + jQuery(this).attr('rel') + ((jQuery(this).attr('rel').indexOf('?') != -1) ? '&' : '?') + 'version=3&amp;hl=en_US&amp;autoplay=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="https://www.youtube.com/v/' + jQuery(this).attr('rel') + ((jQuery(this).attr('rel').indexOf('?') != -1) ? '&' : '?') + 'version=3&amp;hl=en_US&amp;autoplay=1" type="application/x-shockwave-flash" width="280" height="158" allowscriptaccess="always" allowfullscreen="true"></embed></object>');
themes/default/SQ_BlockAudit.php CHANGED
@@ -1,9 +1,9 @@
1
  <div class="sq_dashboard_box">
2
- <div class="sq_dashboard_audit"><span id="sq_audit_error" style="display: none;"><?php _e('Your site audit is not yet ready. It may take up to 7 days to audit your blog.', _SQ_PLUGIN_NAME_); ?></span></div>
3
  </div>
4
  <script type="text/javascript">
5
  jQuery(document).ready(function() {
6
- sq_checkAudit("<?php echo _SQ_DASH_URL_ ?>", "<?php echo SQ_Tools::$options['sq_api'] . md5(get_bloginfo('url')) ?>"); //Check the seo audit for this page
7
  });
8
 
9
  </script>
1
  <div class="sq_dashboard_box">
2
+ <div class="sq_dashboard_audit" onclick="window.open('<?php echo _SQ_DASH_URL_ ?>user/audit/<?php echo SQ_Tools::$options['sq_api'] . md5(strtolower(get_bloginfo('url'))) ?>', '_blank');"><span id="sq_audit_error" style="display: none;"><?php _e('Your site audit is not yet ready. It may take up to 7 days to audit your blog.', _SQ_PLUGIN_NAME_); ?></span></div>
3
  </div>
4
  <script type="text/javascript">
5
  jQuery(document).ready(function() {
6
+ sq_checkAudit("<?php echo _SQ_DASH_URL_ ?>", "<?php echo SQ_Tools::$options['sq_api'] . md5(strtolower(get_bloginfo('url'))) ?>"); //Check the seo audit for this page
7
  });
8
 
9
  </script>
themes/default/SQ_BlockDashboard.php CHANGED
@@ -23,7 +23,8 @@
23
  //Dashboard
24
  jQuery("#sq_dashboard").find('.sq_dashboard_assistant').bind('click', function() {
25
  <?php
26
- $recent_posts = wp_get_recent_posts();
 
27
  if (!empty($recent_posts)) {
28
  foreach ($recent_posts as $recent) {
29
  echo 'location.href = "post.php?post=' . $recent["ID"] . '&action=edit";';
@@ -47,4 +48,7 @@ if (SQ_ObjController::getModel('SQ_Post')->countKeywords() > 0) {
47
  jQuery("#sq_dashboard").find('.sq_dashboard_research').bind('click', function() {
48
  location.href = "post-new.php#sq_research=1";
49
  });
50
- </script>
 
 
 
23
  //Dashboard
24
  jQuery("#sq_dashboard").find('.sq_dashboard_assistant').bind('click', function() {
25
  <?php
26
+ global $current_user;
27
+ $recent_posts = wp_get_recent_posts(array('post_status' => 'publish', 'author' => $current_user->ID));
28
  if (!empty($recent_posts)) {
29
  foreach ($recent_posts as $recent) {
30
  echo 'location.href = "post.php?post=' . $recent["ID"] . '&action=edit";';
48
  jQuery("#sq_dashboard").find('.sq_dashboard_research').bind('click', function() {
49
  location.href = "post-new.php#sq_research=1";
50
  });
51
+ </script>
52
+
53
+ <?php
54
+
themes/default/SQ_BlockHelp.php CHANGED
@@ -7,9 +7,30 @@
7
  SQ_ObjController::getBlock('SQ_Blocklogin')->init();
8
  echo '</div>';
9
  }
 
 
 
 
 
 
 
 
 
 
 
 
10
  ?>
11
 
 
 
 
 
 
 
 
 
 
12
  <div id="sq_settings_title" style="text-align: right">
13
- <a href="?page=sq_dashboard" id="sq_goto_newpost" <?php echo ((SQ_Tools::$options['sq_api'] <> '') ? '' : 'style="display:none"') ?> /><?php _e('<< START HERE >>', _SQ_PLUGIN_NAME_) ?></a>
14
  </div>
15
  </div>
7
  SQ_ObjController::getBlock('SQ_Blocklogin')->init();
8
  echo '</div>';
9
  }
10
+
11
+
12
+ global $current_user;
13
+ $recent_posts = wp_get_recent_posts(array('post_status' => 'publish', 'author' => $current_user->ID));
14
+ if (!empty($recent_posts)) {
15
+ foreach ($recent_posts as $recent) {
16
+ $link = 'post.php?post=' . $recent["ID"] . '&action=edit";';
17
+ break;
18
+ }
19
+ } else {
20
+ $link = 'post-new.php';
21
+ }
22
  ?>
23
 
24
+ <div id="sq_settings_howto">
25
+ <div id="sq_settings_howto_title" ><?php _e('Get Excellent SEO with Better Content and SEO Stats. For Both Humans and Search Bots.', _SQ_PLUGIN_NAME_); ?></div>
26
+ <div id="sq_settings_howto_body">
27
+ <p><iframe width="640" height="480" src="//www.youtube.com/embed/mEjrE7TuDDc" frameborder="0" allowfullscreen></iframe></p>
28
+ <div id="sq_settings_howto_title" ><?php _e('Squirrly SEO Plugin is for the NON-SEO expert. ', _SQ_PLUGIN_NAME_); ?></div>
29
+ <p><span><?php _e('See all the Squirrly SEO features at: ', _SQ_PLUGIN_NAME_); ?><a href="http://bit.ly/1lV9dX6" target="_blank"><strong>Squirrly Features</strong></a></span></p>
30
+ </div>
31
+ </div>
32
+ <div class="sq_login_link"><?php _e('Connect to Squirrly and start optimizing your site', _SQ_PLUGIN_NAME_); ?></div>
33
  <div id="sq_settings_title" style="text-align: right">
34
+ <a href="<?php echo $link ?>" id="sq_goto_newpost" <?php echo ((SQ_Tools::$options['sq_api'] <> '') ? '' : 'style="display:none"') ?> /><?php _e('<< START HERE >>', _SQ_PLUGIN_NAME_) ?></a>
35
  </div>
36
  </div>
themes/default/SQ_BlockPostsAnalytics.php CHANGED
@@ -2,6 +2,7 @@
2
  <span class="sq_icon"></span>
3
  <div id="sq_posts_title" ><?php _e('Squirrly Analytics', _SQ_PLUGIN_NAME_); ?> </div>
4
  <div id="sq_posts_subtitle" ><?php _e('Don\'t see all your pages here? Make sure you optimize them with Squirrly, so that we can track them, and display you the analytics', _SQ_PLUGIN_NAME_); ?> </div>
 
5
 
6
  <?php echo $view->getNavigationTop() ?>
7
  <table class="wp-list-table widefat fixed posts" cellspacing="0">
2
  <span class="sq_icon"></span>
3
  <div id="sq_posts_title" ><?php _e('Squirrly Analytics', _SQ_PLUGIN_NAME_); ?> </div>
4
  <div id="sq_posts_subtitle" ><?php _e('Don\'t see all your pages here? Make sure you optimize them with Squirrly, so that we can track them, and display you the analytics', _SQ_PLUGIN_NAME_); ?> </div>
5
+ <div id="sq_posts_subtitle" style="font-size: 14px;color: red;padding: 0px;margin: 0;text-align: center;line-height: 15px;"><?php _e('If you recheck the google rank, let 10-20 seconds between requests to prevent google to block your IP for an hour.', _SQ_PLUGIN_NAME_); ?> </div>
6
 
7
  <?php echo $view->getNavigationTop() ?>
8
  <table class="wp-list-table widefat fixed posts" cellspacing="0">
themes/default/SQ_BlockSupport.php CHANGED
@@ -2,10 +2,10 @@
2
  <ul>
3
 
4
  <li id="sq_options_dasboard">
5
- <?php if (current_user_can('administrator')) { ?>
6
  <span class="sq_push" style="display:none;">1</span>
7
  <span class="sq_text" ><a href="<?php echo _SQ_DASH_URL_ ?>login/?token=<?php echo SQ_Tools::$options['sq_api'] ?>&redirect_to=<?php echo _SQ_DASH_URL_ ?>user/dashboard" title="<?php _e('Go to Profile', _SQ_PLUGIN_NAME_) ?>" target="_blank" ><span><?php _e('Profile', _SQ_PLUGIN_NAME_) ?></span></a></span><a href="<?php echo _SQ_DASH_URL_ ?>user/" title="<?php _e('Profile', _SQ_PLUGIN_NAME_) ?>" target="_blank" ><span class="sq_icon"></span></a>
8
- <?php
9
  } else {
10
  echo '&nbsp;';
11
  }
@@ -39,10 +39,10 @@
39
  echo 'title="' . __('How was your Squirrly experience today?', _SQ_PLUGIN_NAME_) . '"';
40
  }
41
  ?>></span>
42
- <?php if (!isset($_COOKIE['sq_feedback_face']) || (isset($_COOKIE['sq_feedback_face']) && (int) $_COOKIE['sq_feedback_face'] < 3)) { ?>
43
- <?php if (!isset(SQ_Tools::$options['sq_feedback'])) { ?>
44
  <span class="sq_push">1</span>
45
- <?php } ?>
46
  <ul class="sq_options_feedback_popup" style="display: none;">
47
  <div id="sq_options_feedback_close" >x</div>
48
  <li><?php echo __('How was Squirrly today?', _SQ_PLUGIN_NAME_) ?></li>
@@ -58,7 +58,7 @@
58
  </table>
59
  <div id="sq_options_feedback_error"></div>
60
  <p id="sq_feedback_msg" style="display: none;" >
61
- <?php echo __('Please tell us why?', _SQ_PLUGIN_NAME_) ?>
62
  <textarea class="sq_small_input" name="sq_feedback_message" cols="30" rows="2"></textarea>
63
  <br />
64
  <input id="sq_feedback_submit" type="button" value="<?php _e('Send feedback', _SQ_PLUGIN_NAME_) ?>">
@@ -67,12 +67,12 @@
67
  </li>
68
  <li><?php _e('Go to:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_URL_ ?>" title="<?php _e('support page', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('support page', _SQ_PLUGIN_NAME_) ?></a></li>
69
  </ul>
70
- <?php } else { ?>
71
  <ul class="sq_options_feedback_popup" style="display: none;">
72
  <div id="sq_options_feedback_close" >x</div>
73
  <li><?php echo __('Thank you! You can send us a happy face tomorow too.', _SQ_PLUGIN_NAME_) ?></li>
74
  </ul>
75
- <?php } ?>
76
  </li>
77
 
78
  </ul>
2
  <ul>
3
 
4
  <li id="sq_options_dasboard">
5
+ <?php if (current_user_can('manage_options')) { ?>
6
  <span class="sq_push" style="display:none;">1</span>
7
  <span class="sq_text" ><a href="<?php echo _SQ_DASH_URL_ ?>login/?token=<?php echo SQ_Tools::$options['sq_api'] ?>&redirect_to=<?php echo _SQ_DASH_URL_ ?>user/dashboard" title="<?php _e('Go to Profile', _SQ_PLUGIN_NAME_) ?>" target="_blank" ><span><?php _e('Profile', _SQ_PLUGIN_NAME_) ?></span></a></span><a href="<?php echo _SQ_DASH_URL_ ?>user/" title="<?php _e('Profile', _SQ_PLUGIN_NAME_) ?>" target="_blank" ><span class="sq_icon"></span></a>
8
+ <?php
9
  } else {
10
  echo '&nbsp;';
11
  }
39
  echo 'title="' . __('How was your Squirrly experience today?', _SQ_PLUGIN_NAME_) . '"';
40
  }
41
  ?>></span>
42
+ <?php if (!isset($_COOKIE['sq_feedback_face']) || (isset($_COOKIE['sq_feedback_face']) && (int) $_COOKIE['sq_feedback_face'] < 3)) { ?>
43
+ <?php if (!isset(SQ_Tools::$options['sq_feedback'])) { ?>
44
  <span class="sq_push">1</span>
45
+ <?php } ?>
46
  <ul class="sq_options_feedback_popup" style="display: none;">
47
  <div id="sq_options_feedback_close" >x</div>
48
  <li><?php echo __('How was Squirrly today?', _SQ_PLUGIN_NAME_) ?></li>
58
  </table>
59
  <div id="sq_options_feedback_error"></div>
60
  <p id="sq_feedback_msg" style="display: none;" >
61
+ <?php echo __('Please tell us why?', _SQ_PLUGIN_NAME_) ?>
62
  <textarea class="sq_small_input" name="sq_feedback_message" cols="30" rows="2"></textarea>
63
  <br />
64
  <input id="sq_feedback_submit" type="button" value="<?php _e('Send feedback', _SQ_PLUGIN_NAME_) ?>">
67
  </li>
68
  <li><?php _e('Go to:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_URL_ ?>" title="<?php _e('support page', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('support page', _SQ_PLUGIN_NAME_) ?></a></li>
69
  </ul>
70
+ <?php } else { ?>
71
  <ul class="sq_options_feedback_popup" style="display: none;">
72
  <div id="sq_options_feedback_close" >x</div>
73
  <li><?php echo __('Thank you! You can send us a happy face tomorow too.', _SQ_PLUGIN_NAME_) ?></li>
74
  </ul>
75
+ <?php } ?>
76
  </li>
77
 
78
  </ul>
themes/default/SQ_Blocklogin.php CHANGED
@@ -6,8 +6,10 @@
6
  <div class="sq_error"></div>
7
  <div class="sq_message" style="display: none;"></div>
8
  </li>
9
- <li><label for="sq_user"><?php _e('Email:', _SQ_PLUGIN_NAME_); ?></label><input type="text" id="sq_user" name="sq_user" /></li>
10
- <li><label for="sq_password"><?php _e('Password:', _SQ_PLUGIN_NAME_); ?></label><input type="password" id="sq_password" name="sq_password" /></li>
 
 
11
  <li><input type="button" id="sq_login" value="<?php _e('Login', _SQ_PLUGIN_NAME_); ?>" /></li>
12
  <li><a id="sq_signup" href="javascript:void(0);" target="_blank" title="<?php _e('Register', _SQ_PLUGIN_NAME_); ?>"><?php _e('Register to Squirrly.co', _SQ_PLUGIN_NAME_); ?></a> |
13
  <a href="<?php echo _SQ_DASH_URL_ . 'login/?action=lostpassword' ?>" target="_blank" title="<?php _e('Lost password?', _SQ_PLUGIN_NAME_); ?>"><?php _e('Lost password', _SQ_PLUGIN_NAME_); ?></a></li>
@@ -15,7 +17,12 @@
15
  <div id="sq_autologin" align="center">
16
  <div class="sq_error"></div>
17
  <span id="sq_register"><?php _e('Enter your email', _SQ_PLUGIN_NAME_); ?></span><span id="sq_register_wait"></span>
18
- <div id="sq_register_email" ><label for="sq_email"><?php _e('Your E-mail:', _SQ_PLUGIN_NAME_); ?></label><input type="text" id="sq_email" name="sq_email" /></div>
 
 
 
 
 
19
  <div id="sq_loginimage"><?php _e('Sign Up', _SQ_PLUGIN_NAME_); ?></div>
20
  <div id="sq_signin"><?php _e('I already have an account', _SQ_PLUGIN_NAME_); ?></div>
21
  <span><?php _e('This email connects you to Squirrly.co', _SQ_PLUGIN_NAME_); ?></span>
@@ -31,19 +38,16 @@
31
  var __try_again = '<?php _e('Click on Sign Up button and try again ...', _SQ_PLUGIN_NAME_); ?>';
32
  var __error_login = '<?php _e('An error occured while logging in!', _SQ_PLUGIN_NAME_); ?>';
33
  var __connecting = '<?php _e('Connecting ...', _SQ_PLUGIN_NAME_); ?>';
34
- jQuery('#sq_loginimage').bind('click', function() {
35
  sq_autoLogin();
36
  });
 
 
37
  </script>
38
  </div>
39
  <div id="sq_login_success" style="display: none;">
40
  <div class="sq_header"><?php _e('Congratulations! Now write a new article with:', _SQ_PLUGIN_NAME_); ?></div>
41
  <img src="<?php echo _SQ_STATIC_API_URL_ ?>default/img/squirrly_wordpress.png" />
42
- <ul>
43
- <li><?php _e('<strong>Keyword Research and Analysis</strong>: find the keywords that are easier to rank for.', _SQ_PLUGIN_NAME_); ?></li>
44
- <li><?php _e('<strong>SEO Live Assistant</strong>: Your Wordpress gives you SEO adivce as you type your article.', _SQ_PLUGIN_NAME_); ?></li>
45
- <li><?php _e('<strong>Inspiration box</strong>: get images you can use for free, tweets you can quote and get up to date with latest news about your subject.', _SQ_PLUGIN_NAME_); ?></li>
46
- <li><?php _e('<strong>Article Rank</strong>: Measure and Monitor the impact of SEO and Social Signals for each of your articles.', _SQ_PLUGIN_NAME_); ?></li>
47
- </ul>
48
 
49
  </div>
6
  <div class="sq_error"></div>
7
  <div class="sq_message" style="display: none;"></div>
8
  </li>
9
+ <li><label for="sq_user"><?php _e('Email:', _SQ_PLUGIN_NAME_); ?></label>
10
+ <input type="text" id="sq_user" name="sq_user" /></li>
11
+ <li><label for="sq_password"><?php _e('Password:', _SQ_PLUGIN_NAME_); ?></label>
12
+ <input type="password" id="sq_password" name="sq_password" /></li>
13
  <li><input type="button" id="sq_login" value="<?php _e('Login', _SQ_PLUGIN_NAME_); ?>" /></li>
14
  <li><a id="sq_signup" href="javascript:void(0);" target="_blank" title="<?php _e('Register', _SQ_PLUGIN_NAME_); ?>"><?php _e('Register to Squirrly.co', _SQ_PLUGIN_NAME_); ?></a> |
15
  <a href="<?php echo _SQ_DASH_URL_ . 'login/?action=lostpassword' ?>" target="_blank" title="<?php _e('Lost password?', _SQ_PLUGIN_NAME_); ?>"><?php _e('Lost password', _SQ_PLUGIN_NAME_); ?></a></li>
17
  <div id="sq_autologin" align="center">
18
  <div class="sq_error"></div>
19
  <span id="sq_register"><?php _e('Enter your email', _SQ_PLUGIN_NAME_); ?></span><span id="sq_register_wait"></span>
20
+ <div id="sq_register_email" ><label for="sq_email"><?php _e('Your E-mail:', _SQ_PLUGIN_NAME_); ?></label>
21
+ <input type="text" id="sq_email" name="sq_email" value="<?php
22
+ $current_user = wp_get_current_user();
23
+ echo $current_user->user_email;
24
+ ?>" />
25
+ </div>
26
  <div id="sq_loginimage"><?php _e('Sign Up', _SQ_PLUGIN_NAME_); ?></div>
27
  <div id="sq_signin"><?php _e('I already have an account', _SQ_PLUGIN_NAME_); ?></div>
28
  <span><?php _e('This email connects you to Squirrly.co', _SQ_PLUGIN_NAME_); ?></span>
38
  var __try_again = '<?php _e('Click on Sign Up button and try again ...', _SQ_PLUGIN_NAME_); ?>';
39
  var __error_login = '<?php _e('An error occured while logging in!', _SQ_PLUGIN_NAME_); ?>';
40
  var __connecting = '<?php _e('Connecting ...', _SQ_PLUGIN_NAME_); ?>';
41
+ jQuery('#sq_loginimage').bind('click', function () {
42
  sq_autoLogin();
43
  });
44
+
45
+ //listenLogin(); //listen the login
46
  </script>
47
  </div>
48
  <div id="sq_login_success" style="display: none;">
49
  <div class="sq_header"><?php _e('Congratulations! Now write a new article with:', _SQ_PLUGIN_NAME_); ?></div>
50
  <img src="<?php echo _SQ_STATIC_API_URL_ ?>default/img/squirrly_wordpress.png" />
51
+
 
 
 
 
 
52
 
53
  </div>
themes/default/SQ_Menu.php CHANGED
@@ -1,4 +1,4 @@
1
- <div id="sq_settings" >
2
  <form id="sq_settings_form" name="settings" action="" method="post" enctype="multipart/form-data">
3
  <span class="sq_icon"></span>
4
  <div id="sq_settings_title" ><?php _e('Squirrly settings', _SQ_PLUGIN_NAME_); ?> </div>
@@ -57,7 +57,7 @@
57
  <label for="sq_auto_sitemap0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
58
  <span class="sq_switch-selection"></span>
59
  </div>
60
- <span><?php echo sprintf(__('Add the <strong>%sXML Sitemap%s</strong> for search engines', _SQ_PLUGIN_NAME_), '<a href="https://support.google.com/webmasters/answer/156184?rd=1" target="_blank">', '</a>'); ?>: <strong><?php echo '/sitemap.xml' ?></strong></span>
61
  </div>
62
  </li>
63
  <li>
@@ -151,11 +151,11 @@
151
  </div>
152
  </fieldset>
153
  <fieldset id="sq_title_description_keywords" <?php echo (($view->options['sq_use'] == 0) ? 'style="display:none;"' : ''); ?> <?php echo (($view->options['sq_fp_title'] == '' || $view->options['sq_auto_seo'] == 1) ? '' : 'class="sq_custom_title"'); ?>>
154
- <legend>
155
  <span class="sq_legend_title"><?php _e('First page optimization', _SQ_PLUGIN_NAME_); ?></span>
156
  <span><?php echo sprintf(__('%sThe best SEO approach to Meta information%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/the-best-seo-approach-to-meta-information" target="_blank">', '</a>'); ?></span>
157
 
158
- <span><?php _e('Add the correct <strong>title</strong> in the home page', _SQ_PLUGIN_NAME_); ?></span>
159
  <?php
160
  $auto_option = false;
161
  if ($view->options['sq_auto_title'] == 1)
@@ -171,7 +171,7 @@
171
  </div>
172
  </div>
173
 
174
- <span><?php _e('Add the correct <strong>description</strong> and <strong>keywords</strong> in home page', _SQ_PLUGIN_NAME_); ?></span>
175
  <?php
176
  $auto_option = false;
177
  if ($view->options['sq_auto_description'] == 1)
@@ -193,21 +193,25 @@
193
  <div>
194
  <?php
195
  $auto_option = false;
196
- if ($view->options['sq_fp_title'] == '' || $view->options['sq_auto_seo'] == 1)
197
  $auto_option = true;
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  ?>
199
- <div class="sq_option_content">
200
- <div class="sq_switch">
201
- <input id="sq_automatically" type="radio" class="sq_switch-input" name="sq_auto_seo" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
202
- <label for="sq_automatically" class="sq_switch-label sq_switch-label-off"><?php _e('Auto', _SQ_PLUGIN_NAME_); ?></label>
203
- <input id="sq_customize" type="radio" class="sq_switch-input" name="sq_auto_seo" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
204
- <label for="sq_customize" class="sq_switch-label sq_switch-label-on"><?php _e('Custom', _SQ_PLUGIN_NAME_); ?></label>
205
- <span class="sq_switch-selection"></span>
206
- </div>
207
- <span class="sq_option_info_small"><?php _e('Home page SEO optimization', _SQ_PLUGIN_NAME_); ?></span>
208
- </div>
209
 
210
- <div id="sq_customize_settings" <?php echo (!$auto_option ? '' : 'style="display: none;"') ?>>
211
  <p class="withborder">
212
  <?php _e('Title:', _SQ_PLUGIN_NAME_); ?><input type="text" name="sq_fp_title" value="<?php echo (($view->options['sq_fp_title'] <> '') ? $view->options['sq_fp_title'] : '') ?>" size="75" /><span id="sq_title_info" />
213
  <span id="sq_fp_title_length"></span><span class="sq_settings_info"><?php _e('Tips: Length 10-75 chars', _SQ_PLUGIN_NAME_); ?></span>
@@ -233,12 +237,12 @@
233
  <li id="sq_snippet_source"><a href="http://www.google.com/webmasters/tools/richsnippets?url=<?php echo urlencode(get_bloginfo('wpurl')) ?>" target="_blank"><?php _e('Check with google ...', _SQ_PLUGIN_NAME_) ?></a></li>
234
  </ul>
235
 
236
- <div id="sq_snippet_disclaimer" <?php echo (!$auto_option ? '' : 'style="display: none;"') ?>><?php _e('If you don\'t see any changes in custom optimization, check if another SEO plugin affects Squirrly SEO', _SQ_PLUGIN_NAME_) ?></div>
237
  </div>
238
  </div>
239
  </fieldset>
240
  <fieldset>
241
- <legend>
242
  <span class="sq_legend_title"><?php _e('Squirrly Options', _SQ_PLUGIN_NAME_); ?></span>
243
  <span><?php echo sprintf(__('%sThe right premises in working with Squirrly, WordPress SEO plugin%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/the-right-premises-in-working-with-squirrly-wordpress-seo-plugin" target="_blank">', '</a>'); ?></span>
244
  <span><?php echo sprintf(__('%sGetting inspired with Squirrly WordPress SEO plugin%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/getting-inspired-with-squirrly-wordpress-seo-plugin" target="_blank">', '</a>'); ?></span>
@@ -294,10 +298,32 @@
294
  <span><?php _e('Use <strong> the NEW version of the SEO Live Assistant</strong>.', _SQ_PLUGIN_NAME_); ?></span>
295
  </div>
296
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
297
 
298
  <div class="sq_option_content">
299
  <p class=" withbordertop">
300
- <span><?php _e('Select the country for which Squirrly will check the google rank', _SQ_PLUGIN_NAME_); ?></span>
301
  </p>
302
  <div class="abh_select">
303
  <select id="sq_google_country" name="sq_google_country">
@@ -320,6 +346,7 @@
320
  <option value="co.cr"><?php _e('Costa Rica', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.cr/)</option>
321
  <option value="ci"><?php _e('Côte d\'Ivoire', _SQ_PLUGIN_NAME_); ?> (http://www.google.ci/)</option>
322
  <option value="com.cu"><?php _e('Cuba', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.cu/)</option>
 
323
  <option value="cd"><?php _e('Dem. Rep. of the Congo', _SQ_PLUGIN_NAME_); ?> (http://www.google.cd/)</option>
324
  <option value="dk"><?php _e('Denmark', _SQ_PLUGIN_NAME_); ?> (http://www.google.dk/)</option>
325
  <option value="dj"><?php _e('Djibouti', _SQ_PLUGIN_NAME_); ?> (http://www.google.dj/)</option>
@@ -401,7 +428,17 @@
401
  <option value="co.ve"><?php _e('Venezuela', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.ve/)</option>
402
  </select>
403
  </div>
404
-
 
 
 
 
 
 
 
 
 
 
405
 
406
  </div>
407
  </div>
@@ -433,7 +470,7 @@
433
  </div>
434
  </fieldset>
435
  <fieldset >
436
- <legend>
437
  <span class="sq_legend_title"><?php _e('Tracking Tools', _SQ_PLUGIN_NAME_); ?></span>
438
  <span><?php echo sprintf(__('%sLink your Google+ profile to the content you create%s', _SQ_PLUGIN_NAME_), '<a href="https://plus.google.com/authorship" target="_blank">', '</a>'); ?></span>
439
  <span><?php echo sprintf(__('%sStarBox, the author box that’s pushing content marketing to the stars%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/starbox-the-author-box-thats-pushing-content-marketing-to-the-stars" target="_blank">', '</a>'); ?></span>
@@ -454,6 +491,10 @@
454
  <span class="sq_icon sq_icon_facebookinsights"></span>
455
  <?php echo sprintf(__('Facebook META code (for %sInsights%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.facebook.com/insights/" target="_blank">', '</a>'); ?><br><strong>&lt;meta property="fb:admins" content=" <input type="text" name="sq_facebook_insights" value="<?php echo (($view->options['sq_facebook_insights'] <> '') ? $view->options['sq_facebook_insights'] : '') ?>" size="15" /> " /&gt;</strong>
456
  </p>
 
 
 
 
457
  </div>
458
  </fieldset>
459
  <fieldset >
@@ -490,7 +531,6 @@
490
  var sq_blogurl = "<?php echo get_bloginfo('url') ?>";
491
  var __snippetshort = "<?php echo __('Too short', _SQ_PLUGIN_NAME_) ?>";
492
  var __snippetlong = "<?php echo __('Too long', _SQ_PLUGIN_NAME_) ?>";
493
-
494
  jQuery('#sq_settings').find('select[name=sq_google_country]').val('<?php echo $view->options['sq_google_country']; ?>');
495
  </script>
496
  </div>
1
+ <div id="sq_settings">
2
  <form id="sq_settings_form" name="settings" action="" method="post" enctype="multipart/form-data">
3
  <span class="sq_icon"></span>
4
  <div id="sq_settings_title" ><?php _e('Squirrly settings', _SQ_PLUGIN_NAME_); ?> </div>
57
  <label for="sq_auto_sitemap0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
58
  <span class="sq_switch-selection"></span>
59
  </div>
60
+ <span><?php echo sprintf(__('Add the <strong>%sXML Sitemap%s</strong> for search engines', _SQ_PLUGIN_NAME_), '<a href="https://support.google.com/webmasters/answer/156184?rd=1" target="_blank">', '</a>'); ?>: <strong>Or use <a href="https://wordpress.org/plugins/google-sitemap-generator/" target="_blank">Google XML Sitemaps Plugin</a></strong></span>
61
  </div>
62
  </li>
63
  <li>
151
  </div>
152
  </fieldset>
153
  <fieldset id="sq_title_description_keywords" <?php echo (($view->options['sq_use'] == 0) ? 'style="display:none;"' : ''); ?> <?php echo (($view->options['sq_fp_title'] == '' || $view->options['sq_auto_seo'] == 1) ? '' : 'class="sq_custom_title"'); ?>>
154
+ <legend class="sq_legend_medium">
155
  <span class="sq_legend_title"><?php _e('First page optimization', _SQ_PLUGIN_NAME_); ?></span>
156
  <span><?php echo sprintf(__('%sThe best SEO approach to Meta information%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/the-best-seo-approach-to-meta-information" target="_blank">', '</a>'); ?></span>
157
 
158
+ <span><?php _e('Add meta <strong>title</strong> in Home Page', _SQ_PLUGIN_NAME_); ?></span>
159
  <?php
160
  $auto_option = false;
161
  if ($view->options['sq_auto_title'] == 1)
171
  </div>
172
  </div>
173
 
174
+ <span><?php _e('Add meta <strong>description</strong> and <strong>keywords</strong> in Home Page', _SQ_PLUGIN_NAME_); ?></span>
175
  <?php
176
  $auto_option = false;
177
  if ($view->options['sq_auto_description'] == 1)
193
  <div>
194
  <?php
195
  $auto_option = false;
196
+ if ($view->options['sq_fp_title'] == '')
197
  $auto_option = true;
198
+
199
+ if ($pageId = get_option('page_on_front')) {
200
+ if (SQ_ObjController::getModel('SQ_Frontend')->getAdvancedMeta($pageId, 'title') <> '') {
201
+ $view->options['sq_fp_title'] = SQ_ObjController::getModel('SQ_Frontend')->getAdvancedMeta($pageId, 'title');
202
+ $view->options['sq_fp_description'] = SQ_ObjController::getModel('SQ_Frontend')->getAdvancedMeta($pageId, 'description');
203
+ if (!$view->options['sq_fp_keywords'] = SQ_ObjController::getModel('SQ_Frontend')->getAdvancedMeta($pageId, 'keyword')) {
204
+ $json = SQ_ObjController::getModel('SQ_Post')->getKeyword($pageId);
205
+ if (isset($json) && isset($json->keyword) && $json->keyword <> '') {
206
+ $view->options['sq_fp_keywords'] = $json->keyword;
207
+ }
208
+ }
209
+ }
210
+ }
211
  ?>
212
+ <input id="sq_customize" type="hidden" name="sq_auto_seo" value="0">
 
 
 
 
 
 
 
 
 
213
 
214
+ <div id="sq_customize_settings">
215
  <p class="withborder">
216
  <?php _e('Title:', _SQ_PLUGIN_NAME_); ?><input type="text" name="sq_fp_title" value="<?php echo (($view->options['sq_fp_title'] <> '') ? $view->options['sq_fp_title'] : '') ?>" size="75" /><span id="sq_title_info" />
217
  <span id="sq_fp_title_length"></span><span class="sq_settings_info"><?php _e('Tips: Length 10-75 chars', _SQ_PLUGIN_NAME_); ?></span>
237
  <li id="sq_snippet_source"><a href="http://www.google.com/webmasters/tools/richsnippets?url=<?php echo urlencode(get_bloginfo('wpurl')) ?>" target="_blank"><?php _e('Check with google ...', _SQ_PLUGIN_NAME_) ?></a></li>
238
  </ul>
239
 
240
+ <div id="sq_snippet_disclaimer" ><?php _e('If you don\'t see any changes in custom optimization, check if another SEO plugin affects Squirrly SEO', _SQ_PLUGIN_NAME_) ?></div>
241
  </div>
242
  </div>
243
  </fieldset>
244
  <fieldset>
245
+ <legend class="sq_legend_medium">
246
  <span class="sq_legend_title"><?php _e('Squirrly Options', _SQ_PLUGIN_NAME_); ?></span>
247
  <span><?php echo sprintf(__('%sThe right premises in working with Squirrly, WordPress SEO plugin%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/the-right-premises-in-working-with-squirrly-wordpress-seo-plugin" target="_blank">', '</a>'); ?></span>
248
  <span><?php echo sprintf(__('%sGetting inspired with Squirrly WordPress SEO plugin%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/getting-inspired-with-squirrly-wordpress-seo-plugin" target="_blank">', '</a>'); ?></span>
298
  <span><?php _e('Use <strong> the NEW version of the SEO Live Assistant</strong>.', _SQ_PLUGIN_NAME_); ?></span>
299
  </div>
300
 
301
+ <div class="sq_option_content">
302
+ <div class="sq_switch">
303
+ <input id="sq_keywordtag1" type="radio" class="sq_switch-input" name="sq_keywordtag" value="1" <?php echo (($view->options['sq_keywordtag'] == 1) ? "checked" : '') ?> />
304
+ <label for="sq_keywordtag1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
305
+ <input id="sq_keywordtag0" type="radio" class="sq_switch-input" name="sq_keywordtag" value="0" <?php echo (($view->options['sq_keywordtag'] == 0) ? "checked" : '') ?> />
306
+ <label for="sq_keywordtag0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
307
+ <span class="sq_switch-selection"></span>
308
+ </div>
309
+ <span><?php _e('Add the Post tags in meta keyword.', _SQ_PLUGIN_NAME_); ?></span>
310
+ </div>
311
+
312
+ <div class="sq_option_content">
313
+ <div class="sq_switch">
314
+ <input id="sq_local_images1" type="radio" class="sq_switch-input" name="sq_local_images" value="1" <?php echo (($view->options['sq_local_images'] == 1) ? "checked" : '') ?> />
315
+ <label for="sq_local_images1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
316
+ <input id="sq_local_images0" type="radio" class="sq_switch-input" name="sq_local_images" value="0" <?php echo (($view->options['sq_local_images'] == 0) ? "checked" : '') ?> />
317
+ <label for="sq_local_images0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
318
+ <span class="sq_switch-selection"></span>
319
+ </div>
320
+ <span><?php _e('Download <strong>remote images</strong> in your <strong>Media Library</strong> for the new posts.', _SQ_PLUGIN_NAME_); ?></span>
321
+ </div>
322
+
323
 
324
  <div class="sq_option_content">
325
  <p class=" withbordertop">
326
+ <span><?php _e('Select the google extension for which Squirrly will check the google rank', _SQ_PLUGIN_NAME_); ?></span>
327
  </p>
328
  <div class="abh_select">
329
  <select id="sq_google_country" name="sq_google_country">
346
  <option value="co.cr"><?php _e('Costa Rica', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.cr/)</option>
347
  <option value="ci"><?php _e('Côte d\'Ivoire', _SQ_PLUGIN_NAME_); ?> (http://www.google.ci/)</option>
348
  <option value="com.cu"><?php _e('Cuba', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.cu/)</option>
349
+ <option value="cz"><?php _e('Czech Republic', _SQ_PLUGIN_NAME_); ?> (http://www.google.cz/)</option>
350
  <option value="cd"><?php _e('Dem. Rep. of the Congo', _SQ_PLUGIN_NAME_); ?> (http://www.google.cd/)</option>
351
  <option value="dk"><?php _e('Denmark', _SQ_PLUGIN_NAME_); ?> (http://www.google.dk/)</option>
352
  <option value="dj"><?php _e('Djibouti', _SQ_PLUGIN_NAME_); ?> (http://www.google.dj/)</option>
428
  <option value="co.ve"><?php _e('Venezuela', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.ve/)</option>
429
  </select>
430
  </div>
431
+ <br />
432
+ <div class="sq_option_content">
433
+ <div class="sq_switch">
434
+ <input id="sq_google_country_strict1" type="radio" class="sq_switch-input" name="sq_google_country_strict" value="1" <?php echo (($view->options['sq_google_country_strict'] == 1) ? "checked" : '') ?> />
435
+ <label for="sq_google_country_strict1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
436
+ <input id="sq_google_country_strict0" type="radio" class="sq_switch-input" name="sq_google_country_strict" value="0" <?php echo (($view->options['sq_google_country_strict'] == 0) ? "checked" : '') ?> />
437
+ <label for="sq_google_country_strict0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
438
+ <span class="sq_switch-selection"></span>
439
+ </div>
440
+ <span><?php _e('Restricts search results to results originating in the above particular country.', _SQ_PLUGIN_NAME_); ?></span>
441
+ </div>
442
 
443
  </div>
444
  </div>
470
  </div>
471
  </fieldset>
472
  <fieldset >
473
+ <legend class="sq_legend_medium">
474
  <span class="sq_legend_title"><?php _e('Tracking Tools', _SQ_PLUGIN_NAME_); ?></span>
475
  <span><?php echo sprintf(__('%sLink your Google+ profile to the content you create%s', _SQ_PLUGIN_NAME_), '<a href="https://plus.google.com/authorship" target="_blank">', '</a>'); ?></span>
476
  <span><?php echo sprintf(__('%sStarBox, the author box that’s pushing content marketing to the stars%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/starbox-the-author-box-thats-pushing-content-marketing-to-the-stars" target="_blank">', '</a>'); ?></span>
491
  <span class="sq_icon sq_icon_facebookinsights"></span>
492
  <?php echo sprintf(__('Facebook META code (for %sInsights%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.facebook.com/insights/" target="_blank">', '</a>'); ?><br><strong>&lt;meta property="fb:admins" content=" <input type="text" name="sq_facebook_insights" value="<?php echo (($view->options['sq_facebook_insights'] <> '') ? $view->options['sq_facebook_insights'] : '') ?>" size="15" /> " /&gt;</strong>
493
  </p>
494
+ <p class="withborder withcode" >
495
+ <span class="sq_icon sq_icon_pinterest"></span>
496
+ <?php echo sprintf(__('Pinterest META code:', _SQ_PLUGIN_NAME_), '<a href="#" target="_blank">', '</a>'); ?><br><strong>&lt;meta name="p:domain_verify" content=" <input type="text" name="sq_pinterest" value="<?php echo (($view->options['sq_pinterest'] <> '') ? $view->options['sq_pinterest'] : '') ?>" size="15" /> " /&gt;</strong>
497
+ </p>
498
  </div>
499
  </fieldset>
500
  <fieldset >
531
  var sq_blogurl = "<?php echo get_bloginfo('url') ?>";
532
  var __snippetshort = "<?php echo __('Too short', _SQ_PLUGIN_NAME_) ?>";
533
  var __snippetlong = "<?php echo __('Too long', _SQ_PLUGIN_NAME_) ?>";
 
534
  jQuery('#sq_settings').find('select[name=sq_google_country]').val('<?php echo $view->options['sq_google_country']; ?>');
535
  </script>
536
  </div>
themes/default/SQ_notices.php CHANGED
@@ -7,10 +7,7 @@ if ($type == 'errors_count') {
7
  </span>
8
  <?php } else { ?>
9
  <div id="<?php echo $id ?>" class="<?php echo $type; ?> sq_message">
10
-
11
- <p>
12
- <strong><?php echo $message; ?></strong>
13
- </p>
14
-
15
  </div>
16
- <?php } ?>
 
7
  </span>
8
  <?php } else { ?>
9
  <div id="<?php echo $id ?>" class="<?php echo $type; ?> sq_message">
10
+ <p><strong><?php echo $message; ?></strong></p>
 
 
 
 
11
  </div>
12
+ <?php
13
+ }
themes/default/css/sq_global.css CHANGED
@@ -1 +1 @@
1
- .sq_message{line-height:19px;padding:0px 0;font-size:13px;text-align:center;margin:-1px 15px 0 5px;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#FFFBCC;border-color:#E6DB55}.sq_notices{font-size:13px;color:#555}.sq_error{font-size:13px;color:#555;width:99% !important}.sq_loading{height:60px;background:transparent url('../img/loading.gif') no-repeat center}.sq_minloading{height:20px;width:20px;background:transparent url('../img/minloading.gif') no-repeat center}#sq_preloading{text-align:center;font-size:14px;color:gray}.sq_error{text-align:center;font-size:14px;font-weight:bold;color:brown;margin:5px 0}.sq_beta{font-size:11px;color:darkRed;vertical-align:top;line-height:16px;display:inline-block;margin:0 0 0 5px;border:1px solid darkRed;padding:0 3px}.sq_tooltip{display:inline;position:relative}.sq_tooltip:hover:after{background:#333;background:rgba(0,0,0,.8);border-radius:5px;bottom:26px;color:#fff;font-size:14px;content:attr(title);left:20%;padding:5px 15px;position:absolute;z-index:98;width:250px}.sq_tooltip:hover:before{border:solid;border-color:#333 transparent;border-width:6px 6px 0 6px;bottom:20px;content:"";left:30px;position:absolute;z-index:99}#sq_settings #sq_snippet{max-width:550px}#sq_settings #sq_snippet #sq_snippet_ul{min-height:65px}#sq_snippet{position:relative;margin:20px 0;position:relative;margin:20px 1px;box-shadow:0px 1px 2px -1px #444;-moz-box-shadow:0px 1px 2px -1px #444;-webkit-box-shadow:0px 1px 2px -1px #444}#sq_snippet:before{display:block;content:" ";background:transparent url('../img/sprite.png') repeat-x;background-position:0 -360px;width:100%;height:5px;border-radius:2px 2px 0 0;opacity:0.3}#sq_snippet:hover:before{opacity:0.8}#sq_snippet #sq_snippet_ul{background-color:white;width:auto;padding:15px;margin:0 0 20px 0}#sq_snippet #sq_snippet_ul li{font-family:arial, sans-serif;font-size:13px;font-weight:normal;line-height:10px;margin:0;padding:0}#sq_snippet #sq_snippet_ul li#sq_snippet_update,#sq_snippet #sq_snippet_ul li#sq_snippet_customize,#sq_snippet #sq_snippet_ul li#sq_snippet_reset{background-color:green;min-width:40px;height:10px;color:white;font-size:12px;font-weight:bold;text-shadow:1px 1px #333;box-shadow:1px 1px 0px 0px white;border:1px solid green;border-radius:5px;padding:7px 8px;cursor:pointer;float:right;margin:13px 3px;text-align:center}#sq_settings #sq_snippet #sq_snippet_ul li#sq_snippet_update{margin:1px}#sq_snippet #sq_snippet_ul #sq_snippet_title,#sq_snippet #sq_snippet_ul #sq_snippet_title_value{color:#12c;text-decoration:none;cursor:pointer;line-height:16px;font-size:14px;font-weight:normal}#sq_snippet #sq_snippet_ul #sq_snippet_title{max-width:450px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#sq_snippet #sq_snippet_ul #sq_snippet_title_value{max-width:480px}#sq_snippet #sq_snippet_ul #sq_snippet_title_value input{font-size:12px;width:410px;height:20px;margin:2px 0;background-color:lightgoldenrodyellow}#sq_snippet #sq_snippet_ul #sq_snippet_url,#sq_snippet #sq_snippet_ul #sq_snippet_url a{color:#093;height:16px;line-height:14px;overflow:visible;text-decoration:none}#sq_snippet #sq_snippet_ul #sq_snippet_description,#sq_snippet #sq_snippet_ul #sq_snippet_description_value{color:#222;font-size:12px;line-height:16px;margin-top:4px;max-width:480px;overflow:hidden}#sq_snippet #sq_snippet_ul #sq_snippet_description_value textarea{font-size:12px;width:410px;height:40px;margin:2px 0;background-color:lightgoldenrodyellow}#sq_snippet #sq_snippet_name{position:absolute;right:0;top:-8px;background-color:linen;border:1px solid #ddd;font-size:10px;padding:0px 10px}#sq_snippet #sq_snippet_disclaimer{position:absolute;left:0;bottom:-17px;color:#999;font-size:10px;padding:0px 3px}#sq_snippet #sq_snippet_ul #sq_snippet_source{position:absolute;bottom:1px;right:2px}#sq_snippet #sq_snippet_ul #sq_snippet_source a{font-size:10px;color:lightslategray;text-decoration:none}#sq_snippet .sq_meta_info{display:inline-block;font-size:11px;color:gray;margin:4px 3px;vertical-align:top}#sq_snippet #sq_snippet_ul li#sq_snippet_keywords{margin:10px 0 0 0;color:blue;font-size:10px;cursor:pointer}@media only screen and (max-width: 1024px){#sq_snippet #sq_snippet_ul #sq_snippet_title{clear:both}}
1
+ .sq_message{line-height:19px;padding:0px 0;font-size:13px;text-align:center;margin:-1px 15px 0 5px;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#FFFBCC;border-color:#E6DB55}.sq_notices{font-size:13px;color:#555}.sq_error{font-size:13px;color:#555;width:99% !important}.sq_loading{height:60px;background:transparent url('../img/loading.gif') no-repeat center}.sq_minloading{height:20px;width:20px;background:transparent url('../img/minloading.gif') no-repeat center}#sq_preloading{text-align:center;font-size:14px;color:gray}.sq_error{text-align:center;font-size:14px;font-weight:bold;color:brown;margin:5px 0}.sq_beta{font-size:11px;color:darkRed;vertical-align:top;line-height:16px;display:inline-block;margin:0 0 0 5px;border:1px solid darkRed;padding:0 3px}.sq_tooltip{display:inline;position:relative}.sq_tooltip:hover:after{background:#333;background:rgba(0,0,0,.8);border-radius:5px;bottom:26px;color:#fff;font-size:14px;content:attr(title);left:20%;padding:5px 15px;position:absolute;z-index:98;width:250px}.sq_tooltip:hover:before{border:solid;border-color:#333 transparent;border-width:6px 6px 0 6px;bottom:20px;content:"";left:30px;position:absolute;z-index:99}#sq_settings #sq_snippet{max-width:550px}#sq_settings #sq_snippet #sq_snippet_ul{min-height:65px}#sq_snippet{position:relative;margin:20px 0;position:relative;margin:20px 1px;box-shadow:0px 1px 2px -1px #444;-moz-box-shadow:0px 1px 2px -1px #444;-webkit-box-shadow:0px 1px 2px -1px #444}#sq_snippet:before{display:block;content:" ";background:transparent url('../img/sprite.png') repeat-x;background-position:0 -360px;width:100%;height:5px;border-radius:2px 2px 0 0;opacity:0.3}#sq_snippet:hover:before{opacity:0.8}#sq_snippet #sq_snippet_ul{background-color:white;width:auto;padding:15px;margin:0 0 20px 0}#sq_snippet #sq_snippet_ul li{font-family:arial, sans-serif;font-size:13px;font-weight:normal;line-height:10px;margin:0;padding:0}#sq_snippet #sq_snippet_ul li#sq_snippet_update,#sq_snippet #sq_snippet_ul li#sq_snippet_customize,#sq_snippet #sq_snippet_ul li#sq_snippet_reset{background-color:green;min-width:40px;height:10px;color:white;font-size:12px;font-weight:bold;text-shadow:1px 1px #333;box-shadow:1px 1px 0px 0px white;border:1px solid green;border-radius:5px;padding:7px 8px;cursor:pointer;float:right;margin:13px 3px;text-align:center}#sq_settings #sq_snippet #sq_snippet_ul li#sq_snippet_update{margin:1px}#sq_settings #sq_snippet_image{min-height:30px}#sq_snippet #sq_snippet_ul #sq_snippet_title,#sq_snippet #sq_snippet_ul #sq_snippet_title_value{color:#12c;text-decoration:none;cursor:pointer;line-height:16px;font-size:14px;font-weight:normal}#sq_snippet #sq_snippet_ul #sq_snippet_title{max-width:450px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#sq_snippet #sq_snippet_ul #sq_snippet_title_value{max-width:480px}#sq_snippet #sq_snippet_ul #sq_snippet_title_value input{font-size:12px;width:410px;height:20px;margin:2px 0;background-color:lightgoldenrodyellow}#sq_snippet #sq_snippet_ul #sq_snippet_url,#sq_snippet #sq_snippet_ul #sq_snippet_url a{color:#093;height:16px;line-height:14px;overflow:visible;text-decoration:none}#sq_snippet #sq_snippet_ul #sq_snippet_description,#sq_snippet #sq_snippet_ul #sq_snippet_description_value{color:#222;font-size:12px;line-height:16px;margin-top:4px;max-width:480px;overflow:hidden}#sq_snippet #sq_snippet_ul #sq_snippet_description_value textarea{font-size:12px;width:410px;height:40px;margin:2px 0;background-color:lightgoldenrodyellow}#sq_snippet #sq_snippet_name{position:absolute;right:0;top:-8px;background-color:linen;border:1px solid #ddd;font-size:10px;padding:0px 10px}#sq_snippet #sq_snippet_disclaimer{position:absolute;left:0;bottom:-17px;color:#999;font-size:10px;padding:0px 3px}#sq_snippet #sq_snippet_ul #sq_snippet_source{position:absolute;bottom:1px;right:2px}#sq_snippet #sq_snippet_ul #sq_snippet_source a{font-size:10px;color:lightslategray;text-decoration:none}#sq_snippet .sq_meta_info{display:inline-block;font-size:11px;color:gray;margin:4px 3px;vertical-align:top}#sq_snippet #sq_snippet_ul li#sq_snippet_keywords{margin:10px 0 0 0;color:blue;font-size:10px;cursor:pointer}#sq_snippet #sq_upload{margin:10px 0 5px 0}#sq_snippet #ogimage_preview{margin:10px 0;max-height:300px;max-width:400px;clear:both;display:block}#sq_snippet #sq_uploadstats{margin:8px 0;color:red}@media only screen and (max-width: 1024px){#sq_snippet #sq_snippet_ul #sq_snippet_title{clear:both}}
themes/default/css/sq_menu.css CHANGED
@@ -1 +1 @@
1
- #sq_settings{font-family:Arial, sans-serif;position:relative}#sq_settings .sq_icon{display:block;float:left;margin:10px 11px 0 0;height:40px;width:33px;background:transparent url('../img/sprite.png') no-repeat;background-position:-47px -155px}#sq_settings #sq_settings_title{font-size:36px;font-weight:normal;line-height:49px;color:#333;margin:0 15px 3px 0;padding-top:5px;padding-bottom:0px;height:auto;vertical-align:bottom}#sq_settings #sq_settings_title a,#sq_settings #sq_settings_title input{display:block;float:left;font-size:15px;font-weight:bold;color:white;background-color:green;border:1px solid white;line-height:25px;padding:5px 10px;margin:6px 0 0 0px;text-decoration:none;cursor:pointer}#sq_settings #sq_goto_newpost,#sq_settings #sq_goto_dashboard,#sq_settings #sq_settings_title #sq_goto_newpost,#sq_settings #sq_settings_title #sq_goto_dashboard{display:inline-block;background-color:#FFF;line-height:35px;color:#504310;font-size:15px;text-shadow:0.1em 0.1em #FFFF52;background:#FFD424;cursor:pointer;border:1px solid #F7A504;font-weight:bold;padding:0px 10px;margin:6px 0 5px 6px;width:250px;text-align:center;text-decoration:none}#sq_settings #sq_goto_newpost,#sq_settings #sq_goto_dashboard{display:block;font-size:18px;height:20px;margin:6px auto;padding:5px 10px;height:35px}#sq_settings #sq_login_success{text-align:center;font-size:18px;padding:14px 0;margin:15px auto;color:#008000}#sq_settings #sq_login_success img{margin:30px auto 8px auto}#sq_settings #sq_login_success ul{padding:0;margin:0}#sq_settings #sq_login_success li{text-align:left;font-size:13px;padding:10px;margin:0 7px}#sq_settings_login{width:100% !important}#sq_settings_login #sq_blocklogin label{width:80px}#sq_settings_login .sq_box{max-width:540px;min-width:500px;background:#f0f0f0 url('../img/settings_login.jpg') 0px 0px no-repeat;border:1px solid #ddd;font-size:1.1em;margin:70px auto;padding:1em;font-family:Arial,Verdana,Helvetica,sans-serif;box-shadow:0 5px 9px -5px #222;text-align:center}#sq_settings_login .sq_login_done{background:#f0f0f0 url('../img/settings_login_done.jpg') 0px 0px no-repeat}#sq_settings_login .sq_box .sq_header{color:#11a5c1;font-size:28px;font-weight:bold;margin:0;padding:5px 0;line-height:29px;text-shadow:1px 2px white}#sq_settings_login .sq_login_done .sq_header{font-size:24px}#sq_settings_login #sq_blocklogin ul li{width:500px !important}#sq_settings_login #sq_blocklogin ul li input[type=text],#sq_settings_login #sq_blocklogin ul li input[type=password]{min-width:250px}#sq_settings_login #sq_blocklogin #sq_register_email{width:500px}#sq_settings_login #sq_blocklogin #sq_register_email input[type=text]{min-width:250px}#sq_settings .sq_settings_affiliate_bigtitle{font-size:26px !important;margin:0;padding:5px 0}#sq_settings .sq_settings_affiliate_bigbutton{margin-bottom:35px;text-align:center}#sq_settings .sq_settings_affiliate_bigbutton input{padding:15px !important;font-size:18px !important;cursor:pointer}#sq_settings .sq_settings_affiliate_bigbutton span{display:block;font-size:18px;color:green;font-weight:bold;margin:20px 0 0 0}#sq_settings .sq_settings_affiliate_info{margin-bottom:35px}#sq_settings .sq_settings_affiliate_info li{margin-left:16px;font-weight:bold;font-size:14px;line-height:20px}#sq_settings .sq_affiliate_banner{display:block;margin-bottom:20px;font-weight:normal;font-size:12px;line-height:20px}#sq_settings .sq_settings_info{text-align:left}#sq_settings #sq_settings_howto{font-family:'Segoe UI', Arial, sans-serif;position:relative;background:#ED6612 url('../img/settings_howto.jpg') 24px 13px no-repeat;border:2px solid #F1F2F4;padding:10px;margin:10px auto 20px auto;background-color:#F3F8FD;height:450px;width:740px}#sq_settings #sq_settings_howto #sq_settings_howto_title{display:block;width:100%;font-size:28px;font-weight:bold;line-height:39px;color:#11A5C1;margin:0 0 10px 0;padding-bottom:5px;text-align:center;text-shadow:1px 1px white;height:auto}#sq_settings #sq_settings_howto #sq_settings_howto_body{display:table;font-size:20px;line-height:27px;color:#A8A8A8;padding:25px 0;text-shadow:1px 1px white}#sq_settings #sq_settings_howto #sq_settings_howto_body p{float:left;width:243px;margin:0 18px;text-align:left}#sq_settings #sq_settings_howto #sq_settings_howto_body p span{display:block;font-size:30px;color:#333;line-height:42px}#sq_settings #sq_settings_howto #sq_settings_button{display:block;text-align:center;float:right;font-size:17px;font-weight:bold;color:white;background:#ED6612 url('../img/settings_edit.png') 5px 7px no-repeat;border:1px solid #D45C14;margin:10px 75px;padding:5px 15px 5px 34px;text-decoration:none;text-shadow:1px 1px #BF4509}#sq_settings #sq_settings_title #sq_settings_howto_close{display:inline-block;font-size:12px;color:blue;font-weight:normal;line-height:30px;cursor:pointer}#sq_settings .sq_user_title{color:#1d9ed4 !important;font-size:26px;margin:0;padding:5px 0 !important;text-align:left}#sq_settings #sq_user_stats_list li{margin:0;padding:3px 0 3px 24px;line-height:25px;font-size:14px}#sq_settings #sq_user_stats_list li strong{color:green;font-size:16px}#sq_settings #sq_user_info .sq_settings_info{color:#333;padding-top:15px;text-align:left}#sq_settings #sq_user_info .sq_settings_info a{font-weight:bold}#sq_settings #sq_user_info .sq_button a{clear:both;display:block;float:right;font-size:15px;font-weight:bold;color:white;background-color:green;border:1px solid white;line-height:25px;padding:5px 10px;margin:20px 0 0 20px;text-decoration:none;text-shadow:1px 1px #333;cursor:pointer}#sq_settings #sq_userinfo{color:#333;font-size:14px;font-weight:normal;min-height:500px;margin:0 15px 5px 0;padding:0px;text-shadow:1px 1px white}#sq_settings #sq_userinfo li{padding:10px}.sq_userinfo fieldset{float:none !important}.sq_userinfo fieldset > div{width:auto !important}#sq_settings #sq_settings_body{display:block;font-size:12px;color:#333;line-height:16px;text-align:left;margin-top:20px}#sq_settings_body #sq_settings_left,#sq_settings_body #sq_settings_right{float:left}#sq_settings_body #sq_settings_submit{clear:both}#sq_settings_body fieldset{float:left;clear:both;width:900px;background:#fcfcfc;border:1px solid #ddd;font-size:1.1em;margin:10px auto;padding:0;font-family:Arial,Verdana,Helvetica,sans-serif;text-shadow:1px 1px white;box-shadow:0 5px 9px -6px #222}#sq_settings_body fieldset > div{float:left;padding:20px 0 0 0px;width:550px}#sq_settings_body fieldset legend{float:left;width:280px;height:300px;background:#161a16 repeat-x top left;border:none;font-weight:normal;font-size:14px;margin:0 10px 0 0;padding:25px;line-height:20px;text-align:left;color:#fff;text-shadow:none}#sq_settings_body fieldset legend.sq_legend_big{height:810px}#sq_settings_body fieldset legend > span{display:block;font-size:13px;color:#ccc;margin:25px 0 10px 0;clear:both;text-shadow:1px 1px #000}#sq_settings_body fieldset legend .sq_legend_title{font-weight:lighter;color:#f9f9f9;font-size:23px;line-height:30px;margin-top:0}#sq_settings_body fieldset legend > span a{color:#5dabcf;font-size:14px;font-weight:normal;text-decoration:none}#sq_settings_body fieldset legend .sq_option_content{width:123px;margin:0 auto}#sq_settings_body span.sq_settings_info{clear:both;display:block;font-size:10px;padding-right:10px;width:100%;text-align:right}#sq_settings_body ul.sq_settings_info > span{display:block;color:#777;font-size:16px;font-weight:bold;margin-bottom:22px;list-style:none}#sq_settings_body ul.sq_settings_info li{margin:17px 10px;font-size:11px;font-weight:normal;color:#777}#sq_settings_body fieldset p{vertical-align:top;margin:5px 0 5px 0;padding:0 0 0.5em 0;font-weight:normal;font-size:15px}#sq_settings_body fieldset .withborder{clear:both;vertical-align:top;min-height:40px;margin:7px 0 10px 0;padding:0 0 10px 0;font-weight:normal;font-size:12px;border-bottom:1px dashed #CCC}#sq_settings_body fieldset .withbordertop{border-top:1px dashed #CCC;padding-top:15px}#sq_settings_body fieldset .withcode{min-height:85px}#sq_settings_body fieldset .withcode strong{display:block;font-size:10px;color:#333;margin-left:15px;margin-top:10px}#sq_settings_body fieldset .withcode input[type=text]{width:170px;font-size:10px;margin:0;border:1px solid green}#sq_settings_body fieldset #sq_twitter_account{display:block;font-weight:bold;font-size:13px;color:darksalmon;margin:15px auto;width:350px}#sq_settings_body fieldset .sq_icon{display:block;float:left;background:transparent url('../img/sprite.png') no-repeat;margin:0 10px 0 0;color:brown;width:55px;height:50px}#sq_settings_body fieldset .sq_icon_googleplus{background-position:-221px -100px}#sq_settings_body fieldset .sq_icon_googlewt{background-position:-112px -100px}#sq_settings_body fieldset .sq_icon_googleanalytics{background-position:0px -100px}#sq_settings_body fieldset .sq_icon_facebookinsights{background-position:-59px -100px}#sq_settings_body fieldset .sq_icon_bingwt{background-position:-165px -100px}#sq_settings_body fieldset .sq_icon_alexat{background-position:-270px -100px}#sq_settings_body fieldset p input,#sq_settings_body fieldset p textarea{margin-left:15px;padding:4px;border:1px solid green;max-width:415px}#sq_settings_body input[type=submit]{font-size:15px;font-weight:bold;line-height:30px;padding:1px 10px;margin-left:11px;margin-top:5px;background-color:green;border:none;color:white}#sq_settings_body .customize,#sq_settings_body ._customize{font-size:12px;font-weight:bold;color:blue;cursor:pointer}#sq_settings_body ._customize{margin-top:10px}#sq_settings_body .sq_custom_title legend{height:415px}@media only screen and (max-width: 1800px){#sq_settings_body #sq_settings_left,#sq_settings_body #sq_settings_right{float:none}#sq_settings_body #sq_settings_left fieldset,#sq_settings_body #sq_settings_right fieldset{margin:10px auto 20px auto}}.sq_option_content{clear:both;padding:6px 0;height:30px}.sq_option_content > span{position:relative;padding-top:3px;display:block;vertical-align:middle;line-height:16px;font-size:12px;text-shadow:1px 1px #FFF}.sq_switch{float:left;position:relative;margin:0px 9px 0 0;height:26px;width:120px;border:1px solid #e2ffd6;background:rgba(0, 0, 0, 0.25);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1)}.sq_switch-label{position:relative;z-index:2;float:left;width:58px;line-height:26px;font-size:11px;color:rgba(255, 255, 255, 0.35);text-align:center;text-shadow:0 1px 1px rgba(0, 0, 0, 0.45);cursor:pointer}.sq_switch-label:active{font-weight:bold}.sq_switch-label-off{padding-left:2px}.sq_switch-label-on{padding-right:2px}.sq_switch-input{display:none !important}.sq_switch-input:checked + .sq_switch-label{font-weight:bold;color:rgba(0, 0, 0, 0.65);text-shadow:0px 1px rgba(255, 255, 255, 0.25);-webkit-transition:0.15s ease-out;-moz-transition:0.15s ease-out;-o-transition:0.15s ease-out;transition:0.15s ease-out}.sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection{left:60px;background:lightgray}.sq_switch-selection{display:block;position:absolute;z-index:1;top:2px;left:2px;width:58px;height:22px;background:#89e46a;background-image:-webkit-linear-gradient(top, #9dd993, #89e46a);background-image:-moz-linear-gradient(top, #9dd993, #89e46a);background-image:-o-linear-gradient(top, #9dd993, #89e46a);background-image:linear-gradient(to bottom, #9dd993, #89e46a);-webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);box-shadow:inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:left 0.15s ease-out;transition:left 0.15s ease-out}.sq_option_content_small{clear:both;padding:0px 0;height:20px}.sq_option_content span.sq_option_info{display:block;font-size:15px;margin-top:30px}.sq_option_content > span.sq_option_info_small{line-height:20px;font-size:12px;color:#777}.sq_option_content_small .sq_switch{margin:0px 9px 0 0;height:18px;width:60px}.sq_option_content_small .sq_switch-label{width:28px;line-height:17px;font-size:9px}.sq_option_content_small .sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection{left:31px}.sq_option_content_small .sq_switch-selection{top:1px;left:1px;width:28px;height:16px}.sq_option_content_small > span{font-size:12px !important}#sq_dashboard{font-family:Arial, sans-serif;position:relative;max-width:925px}#sq_dashboard .sq_icon,#sq_posts .sq_icon{display:block;float:left;margin:10px 11px 0 0;height:40px;width:33px;background:transparent url('../img/sprite.png') no-repeat;background-position:-47px -155px}#sq_dashboard #sq_dashboard_title,#sq_posts #sq_posts_title{font-size:36px;font-weight:normal;line-height:50px;color:#444444;margin:0;padding:5px;height:auto}#sq_dashboard #sq_dashboard_subtitle,#sq_posts #sq_posts_subtitle{font-size:18px;font-weight:normal;line-height:24px;color:#777;margin:0 0 20px 45px;padding-bottom:3px;height:auto}#sq_posts .wp-list-table td{vertical-align:middle}#sq_dashboard .sq_dashboard_box{width:900px;margin:10px auto 10px 0px;padding:0;background-color:transparent;box-shadow:0 5px 9px -6px #222}#sq_dashboard .sq_dashboard_box > div{width:900px;height:295px;border:1px solid #ddd;cursor:pointer}#sq_dashboard .sq_dashboard_assistant{background:transparent url('../img/dashboard_assistant.png') no-repeat}#sq_dashboard .sq_dashboard_analytics{background:transparent url('../img/dashboard_analytics.png') no-repeat}#sq_dashboard .sq_dashboard_audit{background:transparent url('../img/dashboard_audit.png') no-repeat}#sq_dashboard .sq_dashboard_research{background:transparent url('../img/dashboard_research.png') no-repeat}#sq_dashboard .sq_dashboard_audit #sq_audit_date{color:white;float:left;margin-top:254px;margin-left:26px;font-size:18px}#sq_dashboard .sq_dashboard_audit #sq_audit_error{color:white;float:left;max-width:277px;line-height:23px;margin-top:242px;margin-left:26px;font-size:16px}#sq_settings #sq_survey{display:block;width:600px;margin:40px auto;color:#777;font-size:16px;line-height:23px}#sq_settings #sq_survey .sq_survey_title{font-size:35px}#sq_settings #sq_survey ul{padding:0;margin:15px 0}#sq_settings #sq_survey li textarea{width:100%}#sq_settings #sq_survey li #sq_survey_submit{background-color:green;font-size:12px;font-weight:bold;color:white;width:100px;margin:0px auto 5px auto;padding:5px;position:relative;text-shadow:1px 1px #555;cursor:pointer}#sq_settings #sq_survey li #sq_survey_close{float:right;font-size:12px;cursor:pointer}
1
+ #sq_settings{font-family:Arial, sans-serif;position:relative}#sq_settings .sq_icon{display:block;float:left;margin:10px 11px 0 0;height:40px;width:33px;background:transparent url('../img/sprite.png') no-repeat;background-position:-47px -155px}#sq_settings #sq_settings_title{font-size:36px;font-weight:normal;line-height:49px;color:#333;margin:0 15px 3px 0;padding-top:5px;padding-bottom:0px;height:auto;vertical-align:bottom;text-shadow:1px 1px white}#sq_settings #sq_settings_title a,#sq_settings #sq_settings_title input{display:block;float:left;font-size:15px;font-weight:bold;color:white;background-color:green;border:1px solid white;line-height:25px;padding:5px 10px;margin:6px 0 0 0px;text-decoration:none;cursor:pointer}#sq_settings .sq_login_link,#sq_settings #sq_goto_newpost,#sq_settings #sq_goto_dashboard,#sq_settings #sq_settings_title #sq_goto_newpost,#sq_settings #sq_settings_title #sq_goto_dashboard{display:inline-block;background-color:#FFF;line-height:35px;color:#504310;font-size:15px;text-shadow:0.1em 0.1em #FFFF52;background:#FFD424;cursor:pointer;border:1px solid #F7A504;font-weight:bold;padding:0px 10px;margin:6px 0 5px 6px;width:250px;text-align:center;text-decoration:none}#sq_settings .sq_login_link{margin:0 auto;width:500px;display:block}#sq_settings #sq_goto_newpost,#sq_settings #sq_goto_dashboard{display:block;font-size:18px;height:20px;margin:6px auto;padding:5px 10px;height:35px}#sq_settings #sq_login_success{text-align:center;font-size:18px;padding:14px 0;margin:15px auto;color:#008000}#sq_settings #sq_login_success img{margin:30px auto 8px auto}#sq_settings #sq_login_success ul{padding:0;margin:0}#sq_settings #sq_login_success li{text-align:left;font-size:13px;padding:10px;margin:0 7px}#sq_settings_login{width:100% !important}#sq_settings_login #sq_blocklogin label{width:80px}#sq_settings_login .sq_box{max-width:540px;min-width:500px;background:#f0f0f0 url('../img/settings_login.jpg') 0px 0px no-repeat;border:1px solid #ddd;font-size:1.1em;margin:70px auto;padding:1em;font-family:Arial,Verdana,Helvetica,sans-serif;box-shadow:0 5px 9px -5px #222;text-align:center}#sq_settings_login .sq_login_done{background:#f0f0f0 url('../img/settings_login_done.jpg') 0px 0px no-repeat}#sq_settings_login .sq_box .sq_header{color:#11a5c1;font-size:28px;font-weight:bold;margin:0;padding:5px 0;line-height:29px;text-shadow:1px 2px white}#sq_settings_login .sq_login_done .sq_header{font-size:24px}#sq_settings_login #sq_blocklogin ul li{width:500px !important}#sq_settings_login #sq_blocklogin ul li input[type=text],#sq_settings_login #sq_blocklogin ul li input[type=password]{min-width:250px}#sq_settings_login #sq_blocklogin #sq_register_email{width:500px}#sq_settings_login #sq_blocklogin #sq_register_email input[type=text]{min-width:250px}#sq_settings .sq_settings_affiliate_bigtitle{font-size:26px !important;margin:0;padding:5px 0}#sq_settings .sq_settings_affiliate_bigbutton{margin-bottom:35px;text-align:center}#sq_settings .sq_settings_affiliate_bigbutton input{padding:15px !important;font-size:18px !important;cursor:pointer}#sq_settings .sq_settings_affiliate_bigbutton span{display:block;font-size:18px;color:green;font-weight:bold;margin:20px 0 0 0}#sq_settings .sq_settings_affiliate_info{margin-bottom:35px}#sq_settings .sq_settings_affiliate_info li{margin-left:16px;font-weight:bold;font-size:14px;line-height:20px}#sq_settings .sq_affiliate_banner{display:block;margin-bottom:20px;font-weight:normal;font-size:12px;line-height:20px}#sq_settings .sq_settings_info{text-align:left}#sq_settings #sq_settings_howto{font-family:'Segoe UI', Arial, sans-serif;position:relative;background:#F3F8FD url('../img/header_stars.png') no-repeat;background-position:center 90px;border:2px solid #F1F2F4;padding:10px;margin:10px auto 20px auto;min-height:650px;width:740px;text-align:center}#sq_settings #sq_settings_howto #sq_settings_howto_title{display:block;width:100%;font-size:28px;font-weight:bold;line-height:39px;color:#11A5C1;margin:0 0 10px 0;padding-bottom:5px;text-align:center;text-shadow:1px 1px white;height:auto}#sq_settings #sq_settings_howto #sq_settings_howto_body{font-size:20px;line-height:27px;color:#A8A8A8;padding:5px;text-shadow:1px 1px white}#sq_settings #sq_settings_howto #sq_settings_howto_body p span{display:block;font-size:17px;color:#333}#sq_settings #sq_settings_howto #sq_settings_button{display:block;text-align:center;float:right;font-size:17px;font-weight:bold;color:white;background:#ED6612 url('../img/settings_edit.png') 5px 7px no-repeat;border:1px solid #D45C14;margin:10px 75px;padding:5px 15px 5px 34px;text-decoration:none;text-shadow:1px 1px #BF4509}#sq_settings #sq_settings_title #sq_settings_howto_close{display:inline-block;font-size:12px;color:blue;font-weight:normal;line-height:30px;cursor:pointer}#sq_settings .sq_user_title{color:#1d9ed4 !important;font-size:26px;margin:0;padding:5px 0 !important;text-align:left}#sq_settings #sq_user_stats_list li{margin:0;padding:3px 0 3px 24px;line-height:25px;font-size:14px}#sq_settings #sq_user_stats_list li strong{color:green;font-size:16px}#sq_settings #sq_user_info .sq_settings_info{color:#333;padding-top:15px;text-align:left}#sq_settings #sq_user_info .sq_settings_info a{font-weight:bold}#sq_settings #sq_user_info .sq_button a{clear:both;display:block;float:right;font-size:15px;font-weight:bold;color:white;background-color:green;border:1px solid white;line-height:25px;padding:5px 10px;margin:20px 0 0 20px;text-decoration:none;text-shadow:1px 1px #333;cursor:pointer}#sq_settings #sq_userinfo{color:#333;font-size:14px;font-weight:normal;min-height:500px;margin:0 15px 5px 0;padding:0px;text-shadow:1px 1px white}#sq_settings #sq_userinfo li{padding:10px}.sq_userinfo fieldset{float:none !important}.sq_userinfo fieldset > div{width:auto !important}#sq_settings #sq_settings_body{display:block;font-size:12px;color:#333;line-height:16px;text-align:left;margin-top:20px}#sq_settings_body #sq_settings_left,#sq_settings_body #sq_settings_right{float:left}#sq_settings_body #sq_settings_submit{clear:both}#sq_settings_body fieldset{float:left;clear:both;width:900px;background:#fcfcfc;border:1px solid #ddd;font-size:1.1em;margin:10px auto;padding:0;font-family:Arial,Verdana,Helvetica,sans-serif;text-shadow:1px 1px white;box-shadow:0 5px 9px -6px #222}#sq_settings_body fieldset > div{float:left;padding:20px 0 0 0px;width:550px}#sq_settings_body fieldset legend{float:left;width:280px;height:300px;background:#161a16 repeat-x top left;border:none;font-weight:normal;font-size:14px;margin:0 10px 0 0;padding:25px;line-height:20px;text-align:left;color:#fff;text-shadow:none}#sq_settings_body fieldset legend.sq_legend_medium{height:401px}#sq_settings_body fieldset legend.sq_legend_big{height:810px}#sq_settings_body fieldset legend > span{display:block;font-size:13px;color:#ccc;margin:25px 0 10px 0;clear:both;text-shadow:1px 1px #000}#sq_settings_body fieldset legend .sq_legend_title{font-weight:lighter;color:#f9f9f9;font-size:23px;line-height:30px;margin-top:0}#sq_settings_body fieldset legend > span a{color:#5dabcf;font-size:14px;font-weight:normal;text-decoration:none}#sq_settings_body fieldset legend .sq_option_content{width:123px;margin:0 auto}#sq_settings_body span.sq_settings_info{clear:both;display:block;font-size:10px;padding-right:10px;width:100%;text-align:right}#sq_settings_body ul.sq_settings_info > span{display:block;color:#777;font-size:16px;font-weight:bold;margin-bottom:22px;list-style:none}#sq_settings_body ul.sq_settings_info li{margin:17px 10px;font-size:11px;font-weight:normal;color:#777}#sq_settings_body fieldset p{vertical-align:top;margin:5px 0 5px 0;padding:0 0 0.5em 0;font-weight:normal;font-size:15px}#sq_settings_body fieldset .withborder{clear:both;vertical-align:top;min-height:40px;margin:7px 0 10px 0;padding:0 0 10px 0;font-weight:normal;font-size:12px;border-bottom:1px dashed #CCC}#sq_settings_body fieldset .withbordertop{border-top:1px dashed #CCC;padding-top:15px}#sq_settings_body fieldset .withcode{min-height:85px}#sq_settings_body fieldset .withcode strong{display:block;font-size:10px;color:#333;margin-left:15px;margin-top:10px}#sq_settings_body fieldset .withcode input[type=text]{width:170px;font-size:10px;margin:0;border:1px solid green}#sq_settings_body fieldset #sq_twitter_account{display:block;font-weight:bold;font-size:13px;color:darksalmon;margin:15px auto;width:350px}#sq_settings_body fieldset .sq_icon{display:block;float:left;background:transparent url('../img/sprite.png') no-repeat;margin:0 10px 0 0;color:brown;width:55px;height:50px}#sq_settings_body fieldset .sq_icon_googleplus{background-position:-221px -100px}#sq_settings_body fieldset .sq_icon_googlewt{background-position:-112px -100px}#sq_settings_body fieldset .sq_icon_googleanalytics{background-position:0px -100px}#sq_settings_body fieldset .sq_icon_facebookinsights{background-position:-59px -100px}#sq_settings_body fieldset .sq_icon_bingwt{background-position:-165px -100px}#sq_settings_body fieldset .sq_icon_alexat{background-position:-270px -100px}#sq_settings_body fieldset .sq_icon_pinterest{background-position:-320px -100px}#sq_settings_body fieldset p input,#sq_settings_body fieldset p textarea{margin-left:15px;padding:4px;border:1px solid green;max-width:415px}#sq_settings_body input[type=submit]{font-size:15px;font-weight:bold;line-height:30px;padding:1px 10px;margin-left:11px;margin-top:5px;background-color:green;border:none;color:white}#sq_settings_body .customize,#sq_settings_body ._customize{font-size:12px;font-weight:bold;color:blue;cursor:pointer}#sq_settings_body ._customize{margin-top:10px}#sq_settings_body .sq_custom_title legend{height:415px}@media only screen and (max-width: 1800px){#sq_settings_body #sq_settings_left,#sq_settings_body #sq_settings_right{float:none}#sq_settings_body #sq_settings_left fieldset,#sq_settings_body #sq_settings_right fieldset{margin:10px auto 20px auto}}.sq_option_content{clear:both;padding:6px 0;height:30px}.sq_option_content > span{position:relative;padding-top:3px;display:block;vertical-align:middle;line-height:16px;font-size:12px;text-shadow:1px 1px #FFF}.sq_switch{float:left;position:relative;margin:0px 9px 0 0;height:26px;width:120px;border:1px solid #e2ffd6;background:rgba(0, 0, 0, 0.25);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1)}.sq_switch-label{position:relative;z-index:2;float:left;width:58px;line-height:26px;font-size:11px;color:rgba(255, 255, 255, 0.35);text-align:center;text-shadow:0 1px 1px rgba(0, 0, 0, 0.45);cursor:pointer}.sq_switch-label:active{font-weight:bold}.sq_switch-label-off{padding-left:2px}.sq_switch-label-on{padding-right:2px}.sq_switch-input{display:none !important}.sq_switch-input:checked + .sq_switch-label{font-weight:bold;color:rgba(0, 0, 0, 0.65);text-shadow:0px 1px rgba(255, 255, 255, 0.25);-webkit-transition:0.15s ease-out;-moz-transition:0.15s ease-out;-o-transition:0.15s ease-out;transition:0.15s ease-out}.sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection{left:60px;background:lightgray}.sq_switch-selection{display:block;position:absolute;z-index:1;top:2px;left:2px;width:58px;height:22px;background:#89e46a;background-image:-webkit-linear-gradient(top, #9dd993, #89e46a);background-image:-moz-linear-gradient(top, #9dd993, #89e46a);background-image:-o-linear-gradient(top, #9dd993, #89e46a);-webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);box-shadow:inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:left 0.15s ease-out;transition:left 0.15s ease-out}.sq_option_content_small{clear:both;padding:0px 0;height:20px}.sq_option_content span.sq_option_info{display:block;font-size:15px;margin-top:30px}.sq_option_content > span.sq_option_info_small{line-height:20px;font-size:12px;color:#777}.sq_option_content_small .sq_switch{margin:0px 9px 0 0;height:18px;width:60px}.sq_option_content_small .sq_switch-label{width:28px;line-height:17px;font-size:9px}.sq_option_content_small .sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection{left:31px}.sq_option_content_small .sq_switch-selection{top:1px;left:1px;width:28px;height:16px}.sq_option_content_small > span{font-size:12px !important}#sq_dashboard{font-family:Arial, sans-serif;position:relative;max-width:925px}#sq_dashboard .sq_icon,#sq_posts .sq_icon{display:block;float:left;margin:10px 11px 0 0;height:40px;width:33px;background:transparent url('../img/sprite.png') no-repeat;background-position:-47px -155px}#sq_dashboard #sq_dashboard_title,#sq_posts #sq_posts_title{font-size:36px;font-weight:normal;line-height:50px;color:#444444;margin:0;padding:5px;height:auto}#sq_dashboard #sq_dashboard_subtitle,#sq_posts #sq_posts_subtitle{font-size:18px;font-weight:normal;line-height:24px;color:#777;margin:0 0 20px 45px;padding-bottom:3px;height:auto}#sq_posts .wp-list-table td{vertical-align:middle}#sq_dashboard .sq_dashboard_box{width:900px;margin:10px auto 10px 0px;padding:0;background-color:transparent;box-shadow:0 5px 9px -6px #222}#sq_dashboard .sq_dashboard_box > div{width:900px;height:295px;border:1px solid #ddd;cursor:pointer}#sq_dashboard .sq_dashboard_assistant{background:transparent url('../img/dashboard_assistant.png') no-repeat}#sq_dashboard .sq_dashboard_analytics{background:transparent url('../img/dashboard_analytics.png') no-repeat}#sq_dashboard .sq_dashboard_audit{background:transparent url('../img/dashboard_audit.png') no-repeat}#sq_dashboard .sq_dashboard_research{background:transparent url('../img/dashboard_research.png') no-repeat}#sq_dashboard .sq_dashboard_audit #sq_audit_date{color:white;float:left;margin-top:254px;margin-left:26px;font-size:18px}#sq_dashboard .sq_dashboard_audit #sq_audit_error{color:white;float:left;max-width:277px;line-height:23px;margin-top:242px;margin-left:26px;font-size:16px}#sq_settings #sq_survey{display:block;width:600px;margin:40px auto;color:#777;font-size:16px;line-height:23px}#sq_settings #sq_survey .sq_survey_title{font-size:35px}#sq_settings #sq_survey ul{padding:0;margin:15px 0}#sq_settings #sq_survey li textarea{width:100%}#sq_settings #sq_survey li #sq_survey_submit{background-color:green;font-size:12px;font-weight:bold;color:white;width:100px;margin:0px auto 5px auto;padding:5px;position:relative;text-shadow:1px 1px #555;cursor:pointer}#sq_settings #sq_survey li #sq_survey_close{float:right;font-size:12px;cursor:pointer}@media only screen and (max-width: 1050px){#sq_settings_body fieldset{width:800px}#sq_settings_body fieldset legend{width:190px;height:auto;min-height:300px}#sq_settings_body fieldset > div{width:540px}}
themes/default/css/sq_post.css CHANGED
@@ -1 +1 @@
1
- #postsquirrly{background-color:transparent;background-image:none;border:none;margin:0 0 10px 0;padding:2px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.sq_push{position:absolute;top:-7px;left:30px;font-size:10px;margin:0;border:1px solid #333;background-color:darkred;border-radius:50px;-webkit-border-radius:50px;-moz-border-radius:50px;padding:0px 1px;width:14px;text-shadow:1px 1px #333;color:#fff;font-family:'Megalopolis',Arial,Helvetica,Sans-Serif;text-align:center}#sq_options_dasboard .sq_push{left:36px}#postsquirrly div,#postsquirrly p,#postsquirrly td,#postsquirrly .inside{margin:0;padding:0}#postsquirrly .hndle,#postsquirrly .handlediv{display:none}#postsquirrly .sq_header{color:#a0a0a0;font-size:14px;font-weight:normal;padding:4px 10px;margin:0;border-bottom:1px dashed #d1d1d1;box-shadow:0px 1px 2px -1px #ccc;-moz-box-shadow:0px 1px 2px -1px #ccc;-webkit-box-shadow:0px px 2px -1px #ccc}#postsquirrly .sq_box{background-color:#fcfcfc;margin-bottom:15px;box-shadow:0px 1px 2px -1px #444;-moz-box-shadow:0px 1px 2px -1px #444;-webkit-box-shadow:0px 1px 2px -1px #444}#postsquirrly .sq_box:before{display:block;content:" ";background:transparent url('../img/sprite.png') repeat-x;background-position:0 -360px;width:100%;height:5px;border-radius:2px 2px 0 0;opacity:0.3}#postsquirrly .sq_box:hover:before{opacity:0.8}#postsquirrly .sq_box:hover .sq_header{color:#444}#sq_blocklogin{background-color:lightYellow}#sq_blocklogin input,#sq_blocklogin textarea #sq_blocklogin{font-family:Arial, Helvetica, sans-serif;font-size:14px;height:30px;padding:6px}#sq_blocklogin #sq_login{cursor:pointer;background-color:green;color:white;min-width:50px;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px}#sq_blocklogin label{margin-top:0px;margin-right:2px;width:72px;display:inline-block}#sq_blocklogin ul li{position:relative;display:table;width:260px;font-family:"Lucida Grande",Arial, Helvetica, sans-serif;font-size:12px;padding:4px 0px 4px 15px;margin:5px 0px;line-height:16px;text-shadow:1px 1px white;text-align:center}#sq_blocklogin .sq_info{font-size:13px;text-align:center}#sq_blocklogin .sq_error{font-size:12px;text-align:center;color:red;margin-top:5px;margin-bottom:5px}#sq_blocklogin #sq_register{margin:5px 0}#sq_blocklogin #sq_register_wait{display:inline-block;margin-left:2px}#sq_blocklogin #sq_autologin{padding:20px 10px 5px 10px}#sq_blocklogin #sq_autologin #sq_loginimage{display:block;background-color:green;height:auto;width:100px;font-size:15px;color:white;font-weight:bold;margin:13px;padding:10px 0;text-decoration:none;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;cursor:pointer}#sq_blocklogin #sq_register_email{text-align:center;width:250px;height:45px;margin:0px auto;margin-top:14px;margin-bottom:11px}#sq_blocklogin #sq_register_email #sq_email{width:160px !important;border:2px solid green}#sq_blocklogin #sq_signin{color:#11a5c1;margin:5px;cursor:pointer}#sq_options{float:right;position:relative;height:40px;margin:0;padding:0;z-index:1003}#postsquirrly #sq_options{float:none}#sq_options > ul{margin:10px 0}#sq_options > ul > li{position:relative;width:100px;float:right;color:#444444;font-family:Segoe UI;font-size:14px;margin:0 auto;padding:0px 0 0 0px;cursor:pointer}#sq_options li#sq_options_support{margin-left:27px;width:105px}#sq_options_support .sq_text,#sq_options_dasboard .sq_text a{display:block;float:left;font-family:Segoe UI;font-size:12px;color:#333;text-decoration:none;padding:3px 5px;border:1px solid #ccc;border-radius:5px;background:white;background:-moz-linear-gradient(top, white, #f5f5f5);background:-webkit-gradient(linear, left top, left bottom, from(white), to(#f5f5f5))}#sq_options .sq_icon{display:block;float:left;margin-top:-8px;margin-left:3px;background:transparent url('../img/sprite.png') no-repeat}#sq_options > ul > li#sq_options_feedback{width:30px;margin-left:2px}#sq_options_feedback .sq_label_feedback_smiley{display:block;height:37px;width:37px;background:transparent url('../img/sprite.png') no-repeat;border:none;cursor:pointer}#sq_options_feedback .sq_feedback_smiley{display:none}#sq_options_feedback .sq_label_feedback_0{background-position:-102px -154px !important}#sq_options_feedback .sq_label_feedback_1{background-position:-148px -154px !important}#sq_options_feedback .sq_label_feedback_2{background-position:-194px -154px !important}#sq_options_feedback .sq_label_feedback_3{background-position:-240px -154px !important}#sq_options_feedback .sq_label_feedback_4{background-position:-284px -154px !important}#sq_options_feedback .sq_icon{height:37px;width:35px;background-position:-194px -154px}#sq_options_support .sq_icon{height:37px;width:30px;background-position:-5px -154px}#sq_options_dasboard .sq_icon{height:39px;width:40px;background-position:-40px -154px}#sq_options_support .sq_options_support_popup,#sq_options_feedback .sq_options_feedback_popup{display:table;min-width:245px;position:absolute;z-index:1002;background-color:white;padding:5px;margin-top:0px;top:33px;border:1px solid #CCC;border-radius:0 7px 7px 7px;-moz-border-radius:0 7px 7px 7px;-webkit-border-radius:0 7px 7px 7px;box-shadow:1px 4px 6px -1px #888;-moz-box-shadow:1px 4px 6px -1px #888;-webkit-box-shadow:1px 4px 6px -1px #888;cursor:default}#sq_options_support .sq_options_support_popup{left:-50px}#sq_options_feedback .sq_options_feedback_popup{left:-101px}#sq_options_support .sq_options_support_popup li,#sq_options_feedback .sq_options_feedback_popup li{color:#333;line-height:16px;font-size:13px;font-weight:normal;margin:0;padding:3px 5px}#sq_options_support #sq_options_support_error,#sq_options_feedback #sq_options_feedback_error{margin:6px 0}#sq_options_feedback .sq_small_input{width:240px}#sq_options_support .sq_small_input{width:225px}#sq_options_support .sq_options_support_popup #sq_support_submit,#sq_options_feedback .sq_options_feedback_popup #sq_feedback_submit{background-color:green;font-size:12px;font-weight:bold;color:white;width:100px;margin:10px auto 5px auto;padding:5px;position:relative;text-shadow:1px 1px #555;cursor:pointer}#sq_options_support #sq_options_close,#sq_options_feedback #sq_options_feedback_close{position:absolute;background-color:#e5d8cd;right:-6px;top:-3px;font-size:13px;font-weight:bold;color:#333;width:8px;line-height:16px;padding:0px 5px 3px;border-radius:10px;border:1px solid darkOliveGreen;cursor:pointer;z-index:2}#sq_options_feedback .sq_options_feedback_popup li{clear:both}#sq_facebook_b{padding:6px 0;clear:both}#sq_facebook_b > span{display:block;float:left;font-weight:bold;color:darkgreen}#sq_facebook_b .sq_facebook_title{width:100%;font-size:16px;text-align:center;margin:5px auto}#sq_facebook_b .sq_facebook_image{width:100px;margin:3px 7px 5px 24px}#sq_facebook_b .sq_facebook_image img{width:100px}#sq_facebook_b .sq_facebook_frame{margin-top:35px}#sq_status{margin:40px 0}#sq_status .sq_box{position:relative;width:750px;height:205px;background:#f6f6f6 url('../img/status/backgroundv2.jpg') 0px 0px no-repeat;border:1px solid #DDD;font-size:1.1em;margin:0 auto;padding:0;font-family:Arial,Verdana,Helvetica,sans-serif;box-shadow:0 5px 9px -5px #222;text-align:center;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}#sq_status .sq_box .sq_header{clear:both;color:#1ca12f;font-size:13px;font-weight:bold;margin:0;padding:3px 5px;line-height:23px;text-align:left;text-shadow:1px 2px #FFF;background:#F1F1F1;background-image:-webkit-gradient(linear,left bottom,left top,from(#ECECEC),to(#F9F9F9));background-image:-webkit-linear-gradient(bottom,#ECECEC,#F9F9F9);background-image:-moz-linear-gradient(bottom,#ECECEC,#F9F9F9);background-image:-o-linear-gradient(bottom,#ECECEC,#F9F9F9);background-image:linear-gradient(to top,#ECECEC,#F9F9F9)}#sq_status .sq_box .sq_header span{color:#444;margin-right:10px}#sq_status .sq_box .sq_header .sq_status_close{float:right;color:#999;font-size:10px;cursor:pointer}#sq_status .sq_box table{margin:35px 25px 0 25px}#sq_status .sq_box td{text-align:left;font-size:13px;text-shadow:1px 1px #FFF}#sq_status .sq_box .sq_status_image{position:absolute;background:transparent url('../img/status/squirrly_cheers.png') 0px 0px no-repeat;background-size:210px;width:220px;height:170px;right:0px;top:88px}#sq_status .sq_box .sq_status_text1{color:#444;font-weight:normal;font-size:16px;line-height:40px}#sq_status .sq_box .sq_status_text2{color:#444;font-size:20px;font-weight:bold;width:270px}#sq_status .sq_box .sq_status_text3{color:#A8A8A8;font-size:16px;margin-top:14px;padding-left:30px;line-height:21px;width:355px;text-align:left}#sq_status .sq_box .sq_status_bigtext{color:#1ca12f;padding-top:12px;font-size:63px;width:210px;text-align:center}
1
+ #postsquirrly{background-color:transparent;background-image:none;border:none;margin:0 0 10px 0;padding:2px;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.sq_push{position:absolute;top:-7px;left:30px;font-size:10px;margin:0;border:1px solid #333;background-color:darkred;border-radius:50px;-webkit-border-radius:50px;-moz-border-radius:50px;padding:0px 1px;width:14px;text-shadow:1px 1px #333;color:#fff;font-family:'Megalopolis',Arial,Helvetica,Sans-Serif;text-align:center}#sq_options_dasboard .sq_push{left:36px}#postsquirrly div,#postsquirrly p,#postsquirrly td,#postsquirrly .inside{margin:0;padding:0}#postsquirrly .hndle,#postsquirrly .handlediv{display:none}#postsquirrly .sq_header{color:#a0a0a0;font-size:14px;font-weight:normal;padding:4px 10px;margin:0;border-bottom:1px dashed #d1d1d1;box-shadow:0px 1px 2px -1px #ccc;-moz-box-shadow:0px 1px 2px -1px #ccc;-webkit-box-shadow:0px 1px 2px -1px #ccc}#postsquirrly .sq_box{background-color:#fcfcfc;margin-bottom:15px;box-shadow:0px 1px 2px -1px #444;-moz-box-shadow:0px 1px 2px -1px #444;-webkit-box-shadow:0px 1px 2px -1px #444}#postsquirrly .sq_box:before{display:block;content:" ";background:transparent url('../img/sprite.png') repeat-x;background-position:0 -360px;width:100%;height:5px;border-radius:2px 2px 0 0;opacity:0.3}#postsquirrly .sq_box:hover:before{opacity:0.8}#postsquirrly .sq_box:hover .sq_header{color:#444}#sq_blocklogin{background-color:lightYellow}#sq_blocklogin input,#sq_blocklogin textarea #sq_blocklogin{font-family:Arial, Helvetica, sans-serif;font-size:14px;height:30px;padding:6px}#sq_blocklogin #sq_login{cursor:pointer;background-color:green;color:white;min-width:50px;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px}#sq_blocklogin label{margin-top:0px;margin-right:2px;width:72px;display:inline-block}#sq_blocklogin ul li{position:relative;display:table;width:260px;font-family:"Lucida Grande",Arial, Helvetica, sans-serif;font-size:12px;padding:4px 0px 4px 15px;margin:5px 0px;line-height:16px;text-shadow:1px 1px white;text-align:center}#sq_blocklogin .sq_info{font-size:13px;text-align:center}#sq_blocklogin .sq_error{font-size:12px;text-align:center;color:red;margin-top:5px;margin-bottom:5px}#sq_blocklogin #sq_register{margin:5px 0}#sq_blocklogin #sq_register_wait{display:inline-block;margin-left:2px}#sq_blocklogin #sq_autologin{padding:20px 10px 5px 10px}#sq_blocklogin #sq_autologin #sq_loginimage{display:block;background-color:green;height:auto;width:100px;font-size:15px;color:white;font-weight:bold;margin:13px;padding:10px 0;text-decoration:none;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;cursor:pointer}#sq_blocklogin #sq_register_email{text-align:center;width:250px;height:45px;margin:0px auto;margin-top:14px;margin-bottom:11px}#sq_blocklogin #sq_register_email #sq_email{width:160px !important;border:2px solid green}#sq_blocklogin #sq_signin{color:#11a5c1;margin:5px;cursor:pointer}#sq_options{float:right;position:relative;height:40px;margin:0;padding:0;z-index:1003}#postsquirrly #sq_options{float:none}#sq_options > ul{margin:10px 0}#sq_options > ul > li{position:relative;width:100px;float:right;color:#444444;font-family:Segoe UI;font-size:14px;margin:0 auto;padding:0px 0 0 0px;cursor:pointer}#sq_options li#sq_options_support{margin-left:27px;width:105px}#sq_options_support .sq_text,#sq_options_dasboard .sq_text a{display:block;float:left;font-family:Segoe UI;font-size:12px;color:#333;text-decoration:none;padding:3px 5px;border:1px solid #ccc;border-radius:5px;background:white;background:-moz-linear-gradient(top, white, #f5f5f5);background:-webkit-gradient(linear, left top, left bottom, from(white), to(#f5f5f5))}#sq_options .sq_icon{display:block;float:left;margin-top:-8px;margin-left:3px;background:transparent url('../img/sprite.png') no-repeat}#sq_options > ul > li#sq_options_feedback{width:30px;margin-left:2px}#sq_options_feedback .sq_label_feedback_smiley{display:block;height:37px;width:37px;background:transparent url('../img/sprite.png') no-repeat;border:none;cursor:pointer}#sq_options_feedback .sq_feedback_smiley{display:none}#sq_options_feedback .sq_label_feedback_0{background-position:-102px -154px !important}#sq_options_feedback .sq_label_feedback_1{background-position:-148px -154px !important}#sq_options_feedback .sq_label_feedback_2{background-position:-194px -154px !important}#sq_options_feedback .sq_label_feedback_3{background-position:-240px -154px !important}#sq_options_feedback .sq_label_feedback_4{background-position:-284px -154px !important}#sq_options_feedback .sq_icon{height:37px;width:35px;background-position:-194px -154px}#sq_options_support .sq_icon{height:37px;width:30px;background-position:-5px -154px}#sq_options_dasboard .sq_icon{height:39px;width:40px;background-position:-40px -154px}#sq_options_support .sq_options_support_popup,#sq_options_feedback .sq_options_feedback_popup{display:table;min-width:245px;position:absolute;z-index:1002;background-color:white;padding:5px;margin-top:0px;top:33px;border:1px solid #CCC;border-radius:0 7px 7px 7px;-moz-border-radius:0 7px 7px 7px;-webkit-border-radius:0 7px 7px 7px;box-shadow:1px 4px 6px -1px #888;-moz-box-shadow:1px 4px 6px -1px #888;-webkit-box-shadow:1px 4px 6px -1px #888;cursor:default}#sq_options_support .sq_options_support_popup{left:-50px}#sq_options_feedback .sq_options_feedback_popup{left:-101px}#sq_options_support .sq_options_support_popup li,#sq_options_feedback .sq_options_feedback_popup li{color:#333;line-height:16px;font-size:13px;font-weight:normal;margin:0;padding:3px 5px}#sq_options_support #sq_options_support_error,#sq_options_feedback #sq_options_feedback_error{margin:6px 0}#sq_options_feedback .sq_small_input{width:240px}#sq_options_support .sq_small_input{width:225px}#sq_options_support .sq_options_support_popup #sq_support_submit,#sq_options_feedback .sq_options_feedback_popup #sq_feedback_submit{background-color:green;font-size:12px;font-weight:bold;color:white;width:100px;margin:10px auto 5px auto;padding:5px;position:relative;text-shadow:1px 1px #555;cursor:pointer}#sq_options_support #sq_options_close,#sq_options_feedback #sq_options_feedback_close{position:absolute;background-color:#e5d8cd;right:-6px;top:-3px;font-size:13px;font-weight:bold;color:#333;width:8px;line-height:16px;padding:0px 5px 3px;border-radius:10px;border:1px solid darkOliveGreen;cursor:pointer;z-index:2}#sq_options_feedback .sq_options_feedback_popup li{clear:both}#sq_facebook_b{padding:6px 0;clear:both}#sq_facebook_b > span{display:block;float:left;font-weight:bold;color:darkgreen}#sq_facebook_b .sq_facebook_title{width:100%;font-size:16px;text-align:center;margin:5px auto}#sq_facebook_b .sq_facebook_image{width:100px;margin:3px 7px 5px 24px}#sq_facebook_b .sq_facebook_image img{width:100px}#sq_facebook_b .sq_facebook_frame{margin-top:35px}#sq_status{margin:40px 0}#sq_status .sq_box{position:relative;width:750px;height:205px;background:#f6f6f6 url('../img/status/backgroundv2.jpg') 0px 0px no-repeat;border:1px solid #DDD;font-size:1.1em;margin:0 auto;padding:0;font-family:Arial,Verdana,Helvetica,sans-serif;box-shadow:0 5px 9px -5px #222;text-align:center;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}#sq_status .sq_box .sq_header{clear:both;color:#1ca12f;font-size:13px;font-weight:bold;margin:0;padding:3px 5px;line-height:23px;text-align:left;text-shadow:1px 2px #FFF;background:#F1F1F1;background-image:-webkit-gradient(linear,left bottom,left top,from(#ECECEC),to(#F9F9F9));background-image:-webkit-linear-gradient(bottom,#ECECEC,#F9F9F9);background-image:-moz-linear-gradient(bottom,#ECECEC,#F9F9F9);background-image:-o-linear-gradient(bottom,#ECECEC,#F9F9F9)}#sq_status .sq_box .sq_header span{color:#444;margin-right:10px}#sq_status .sq_box .sq_header .sq_status_close{float:right;color:#999;font-size:10px;cursor:pointer}#sq_status .sq_box table{margin:35px 25px 0 25px}#sq_status .sq_box td{text-align:left;font-size:13px;text-shadow:1px 1px #FFF}#sq_status .sq_box .sq_status_image{position:absolute;background:transparent url('../img/status/squirrly_cheers.png') 0px 0px no-repeat;background-size:210px;width:220px;height:170px;right:0px;top:88px}#sq_status .sq_box .sq_status_text1{color:#444;font-weight:normal;font-size:16px;line-height:40px}#sq_status .sq_box .sq_status_text2{color:#444;font-size:20px;font-weight:bold;width:270px}#sq_status .sq_box .sq_status_text3{color:#A8A8A8;font-size:16px;margin-top:14px;padding-left:30px;line-height:21px;width:355px;text-align:left}#sq_status .sq_box .sq_status_bigtext{color:#1ca12f;padding-top:12px;font-size:63px;width:210px;text-align:center}
themes/default/css/sq_postslist.css CHANGED
@@ -1 +1 @@
1
- #postmiddlesquirrly{display:block}#sq_posts{margin:15px 15px 0 0}th#sq_rank_column{color:brown;width:125px}#sq_posts th.column-title{width:250px}#sq_posts th.column-type{width:70px}#sq_posts th.column-traffic{width:100px}#sq_posts th.column-rank{width:150px}#sq_posts th.column-keywords{width:100px}#sq_posts th.column-date{width:90px}td.sq_rank_column .sq_rank_column_row{text-align:center;position:relative;width:100%;min-height:80px}td.sq_rank_column .sq_rank_column_row .sq_optimize{font-size:12px;color:lightcoral;cursor:pointer}td.sq_rank_column .sq_rank_column_row .sq_no_rank{color:#999}td.sq_rank_column .sq_rank_column_row .sq_chart_title{position:absolute;font-size:9px;color:#cfcfcf;top:33px;text-align:center;width:100%}td.sq_rank_column .sq_rank_column_row:hover .sq_chart_title{color:darkgoldenrod}td.sq_rank_column .sq_rank_column_button{display:block;margin:10px auto;background-color:#89e46a;font-size:13px;font-weight:bold;color:white;line-height:16px;text-shadow:none;padding:7px 0px;border-radius:0px;-webkit-border-radius:0px;-moz-border-radius:0px;border:none;box-shadow:0px 0px 2px 0px white;cursor:pointer;width:100px;text-align:center;z-index:2}.sq_rank_layout_content .sq_rank_zone_header .sq_rank_zone_title{background-position:-60px -74px}.sq_post_rank_row{position:relative;padding:0px 0 5px 0 !important;margin:0px !important;border-left:1px solid #999;border-right:1px solid #999;background-color:#fff;min-width:460px;overflow:visible !important;box-shadow:0px 5px 6px -4px #000;-moz-box-shadow:0px 5px 6px -4px #000;-webkit-box-shadow:0px 5px 6px -4px #000}.sq_post_rank_row:before{display:block;border:none;content:" ";background:transparent url('../img/sprite.png') repeat-x;background-position:0 -360px;width:100%;height:5px;border-radius:2px 2px 0 0}.sq_post_rank_row .sq_post_rank_title{display:block;text-align:left;font-size:18px;font-weight:normal;line-height:30px;color:#333;margin:0 0 10px 0;padding:10px 0 10px 10px;height:16px}.sq_post_rank_row .sq_separator{display:block;clear:both;background:transparent url("../img/sprite.png") repeat-x;background-position:0px -367px;width:100%;height:3px;margin:2px auto 30px auto}.sq_post_rank_row .sq_post_rank_close{position:absolute;background-color:#e5d8cd;right:-7px;top:-7px;font-size:13px;font-weight:bold;color:#333;width:8px;line-height:16px;padding:0px 5px 3px;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border:1px solid darkOliveGreen;cursor:pointer;z-index:2}.sq_post_rank_row .sq_post_rank_refresh{position:absolute;right:30px;top:18px;font-size:12px;font-weight:bold;color:white;line-height:16px;padding:2px 9px;background-color:#57c332;text-shadow:1px 1px #333;border:1px solid #89e46a;box-shadow:0px 0px 2px 0px #57c332;cursor:pointer;z-index:2}#sq_analytics .sq_first_header_column{width:122px}#sq_analytics .sq_second_column{width:528px}#sq_analytics .sq_second_column span{width:100%}#sq_analytics .sq_third_column{position:relative;overflow:visible;width:300px;text-align:center}#sq_analytics .sq_analytics_task_completed{display:block;top:-22px;float:left;position:relative;line-height:40px;width:auto;height:auto;min-width:50px;min-height:40px;margin:0 20px;padding:10px;text-align:center;font-size:30px;color:#fff;box-shadow:1px 1px 2px 0px #999;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=1, Color='#999');-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=270, Color='#999')";border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;-webkit-border-radius:5px 5px 5px 0}#sq_analytics .sq_analytics_tasks .sq_analytics_task_completed{display:block;width:100px;height:65px;font-size:20px;color:#fff;text-shadow:1px 1px #555;line-height:29px;vertical-align:middle}#sq_analytics .sq_analytics_task_completed:before{content:"";width:0;height:0;position:absolute;bottom:-13px;left:0;border-width:0 0 14px 25px;border-style:solid;z-index:2}#sq_analytics .sq_analytics_task_completed:after{content:"";width:0;height:0;position:absolute;bottom:-15px;left:0;border-collapse:collapse;border-width:0 0 15px 28px;border-style:solid;border-color:transparent transparent transparent #999}#sq_analytics .sq_audit_task_completed_green{color:#fff;background:#1e9a04}#sq_analytics .sq_audit_task_completed_green_text{color:#1e9a04}#sq_analytics .sq_audit_task_completed_green:before{border-color:transparent transparent transparent #1e9a04}#sq_analytics .sq_audit_task_completed_yellow{color:#fff;background:#f6a304}#sq_analytics .sq_audit_task_completed_yellow_text{color:#f6a304}#sq_analytics .sq_audit_task_completed_yellow:before{border-color:transparent transparent transparent #f6a304}#sq_analytics .sq_audit_task_completed_red{color:#fff;background:#bb0d0c}#sq_analytics .sq_audit_task_completed_red_text{color:#bb0d0c}#sq_analytics .sq_audit_task_completed_red:before{border-color:transparent transparent transparent #bb0d0c}#sq_analytics div.sq_analytics_groups{width:80%;margin:0 auto 50px auto}#sq_analytics .sq_analytics_list > li{margin-top:40px}#sq_analytics .sq_analytics_list td{border:none;vertical-align:top;overflow:visible}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header{height:50px;overflow:visible}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_tasks_header_title{float:left;font-size:36px;line-height:16px}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_task_completed{margin:0 21px !important;padding:10px}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_task_completed:before{right:4px;left:auto}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_task_completed:after{bottom:-15px;right:2px;left:auto;border-width:0 0 15px 26px}.sq_analytics_tasks_pass{display:block;background:transparent url("../img/sprite.png") repeat-x;background-position:-5px -380px;height:84px;width:97px;margin-right:20px}.sq_analytics_tasks_fail{display:block;background:transparent url("../img/sprite.png") repeat-x;background-position:-103px -380px;height:84px;width:97px;margin-right:20px}#sq_analytics .sq_analytics_tasks_row{width:100%;position:relative;margin-top:30px}#sq_analytics .sq_analytics_tasks_row > table{width:100%}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_title{font-size:24px;line-height:28px;color:#a8a8a8;padding-right:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value{font-size:24px;line-height:28px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_pass a{font-size:15px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_fail a{font-size:15px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_pass{color:#1e9a04}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_fail{color:#f7681a}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description{padding-top:20px;max-width:540px;font-size:16px;line-height:21px;color:#a8a8a8}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description span{display:block;margin-bottom:15px;margin-left:0}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description span.sq_analytics_tasks_alias{margin-bottom:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_tasks_value{font-size:15px;line-height:21px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description a{text-decoration:none}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description ul li{margin-left:10px;margin-top:7px;font-size:14px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_tip,#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_fix{font-size:14px;line-height:19px;color:#333333}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_tip a,#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_fix a{text-decoration:none}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_fix strong{color:#f7681a}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values{width:330px;margin:30px auto 0 auto}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li > div{float:left;margin-right:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li{clear:both;height:30px;line-height:20px;border-bottom:1px dashed #eee}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li .sq_analytics_values_title{font-size:16px;width:195px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li .sq_analytics_values_value{font-weight:bold;width:75px;text-align:right}#sq_analytics .sq_list_error_title,#sq_analytics .sq_list_success_title{display:block;font-size:20px;color:#333;height:31px;width:90% !important;margin-top:30px;padding-left:30px;border-bottom:5px solid #ccc;box-shadow:0px 1px 0 0 #999;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=1, Color='#999');-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=270, Color='#999')";border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;background:transparent url("../img/list_icon.png") no-repeat 1px 3px}#sq_analytics .sq_list_error,#sq_analytics .sq_list_success{display:block;font-size:15px;font-weight:normal;color:#333;margin-left:0px;margin-top:5px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_list_success span{margin-bottom:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value .sq_list_error,#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value .sq_list_success{font-style:italic}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_video_cover{background:#333 url("../img/sprite.png") no-repeat;background-position:-208px -375px;width:280px;height:158px;border:2px solid #000;border-radius:5px;margin:0 auto;cursor:pointer}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_video a{display:block;width:280px;text-align:center;font-size:15px;margin-top:3px;margin:0 5px}#sq_analytics .sq_analytics_tasks_row .sq_chart_text{position:absolute;font-size:14px;line-height:20px;color:#cfcfcf;top:80px;text-align:center;width:93%}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_side{text-align:center}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_side .sq_analytics_tasks_side_text{display:block;font-size:14px;line-height:21px;color:#cfcfcf;text-align:center}#sq_analytics .sq_rank_sprite{float:left;display:block;margin:1px 0 0 0;background:transparent url('../img/sprite.png') no-repeat;background-position:20px 0px;width:20px;height:20px}#sq_analytics .sq_rank_flag_big{display:block;float:none;margin:0 auto 6px auto;background-position:-7px -279px;width:72px;height:70px}#sq_analytics .sq_rank_flag_facebook{background-position:-10px -253px}#sq_analytics .sq_rank_flag_facebook_big{background-position:-7px -279px}#sq_analytics .sq_rank_flag_facebook_like{background-position:-212px -253px}#sq_analytics .sq_rank_flag_twitter{background-position:-53px -253px}#sq_analytics .sq_rank_flag_twitter_big{background-position:-372px -279px}#sq_analytics .sq_rank_flag_googleplus{background-position:-31px -253px}#sq_analytics .sq_rank_flag_googleplus_big{background-position:-153px -279px}#sq_analytics .sq_rank_flag_stumbleupon{background-position:-190px -253px}#sq_analytics .sq_rank_flag_stumbleupon_big{background-position:-299px -279px}#sq_analytics .sq_rank_flag_linkedin{background-position:-231px -253px}#sq_analytics .sq_rank_flag_linkedin_big{background-position:-80px -279px}#sq_analytics .sq_rank_flag_reddit{background-position:-250px -253px}#sq_analytics .sq_rank_flag_reddit_big{background-position:-226px -279px}#sq_analytics .sq_rank_seomoz_inbound{background-position:-97px -253px}#sq_analytics .sq_rank_seomoz_authority{background-position:-119px -253px}#sq_analytics .sq_rank_seomoz_rank{background-position:-273px -253px}#sq_analytics .sq_rank_google_pagerank{background-position:-273px -253px}#sq_analytics .sq_rank_squirrly_rank{background-position:-314px -253px}.sq_rank_custom_meta{display:block;font-size:13px;width:16px;height:16px;margin:0;padding:0;cursor:pointer;float:right}.sq_rank_customtitle{background-position:-308px -75px}.sq_rank_customdescription{background-position:-326px -75px}
1
+ #postmiddlesquirrly{display:block}#sq_posts{margin:15px 15px 0 0}th#sq_rank_column{color:brown;width:125px}#sq_posts th.column-title{width:250px}#sq_posts th.column-type{width:70px}#sq_posts th.column-traffic{width:100px}#sq_posts th.column-rank{width:150px}#sq_posts th.column-keywords{width:100px}#sq_posts th.column-date{width:90px}td.sq_rank_column .sq_rank_column_row{text-align:center;position:relative;width:100%;min-height:80px}td.sq_rank_column .sq_rank_column_row .sq_optimize{font-size:12px;color:lightcoral;cursor:pointer}td.sq_rank_column .sq_rank_column_row .sq_no_rank{color:#999}td.sq_rank_column .sq_rank_column_row .sq_chart_title{position:absolute;font-size:9px;color:#cfcfcf;top:33px;text-align:center;width:100%}td.sq_rank_column .sq_rank_column_row:hover .sq_chart_title{color:darkgoldenrod}td.column-rank .sq_rank_column_button,td.sq_rank_column .sq_rank_column_button{display:block;margin:10px auto;background-color:#89e46a;font-size:13px;font-weight:bold;color:white;line-height:16px;text-shadow:none;padding:7px 0px;border-radius:0px;-webkit-border-radius:0px;-moz-border-radius:0px;border:none;box-shadow:0px 0px 2px 0px white;cursor:pointer;width:100px;text-align:center;z-index:2}td.column-rank .sq_rank_column_button{padding:3px 0px;font-size:11px;width:90px;line-height:14px;background-color:lightgrey}.sq_rank_layout_content .sq_rank_zone_header .sq_rank_zone_title{background-position:-60px -74px}.sq_post_rank_row{position:relative;padding:0px 0 5px 0 !important;margin:0px !important;border-left:1px solid #999;border-right:1px solid #999;background-color:#fff;min-width:460px;overflow:visible !important;box-shadow:0px 5px 6px -4px #000;-moz-box-shadow:0px 5px 6px -4px #000;-webkit-box-shadow:0px 5px 6px -4px #000}.sq_post_rank_row:before{display:block;border:none;content:" ";background:transparent url('../img/sprite.png') repeat-x;background-position:0 -360px;width:100%;height:5px;border-radius:2px 2px 0 0}.sq_post_rank_row .sq_post_rank_title{display:block;text-align:left;font-size:18px;font-weight:normal;line-height:30px;color:#333;margin:0 0 10px 0;padding:10px 0 10px 10px;height:16px}.sq_post_rank_row .sq_separator{display:block;clear:both;background:transparent url("../img/sprite.png") repeat-x;background-position:0px -367px;width:100%;height:3px;margin:2px auto 30px auto}.sq_post_rank_row .sq_post_rank_close{position:absolute;background-color:#e5d8cd;right:-7px;top:-7px;font-size:13px;font-weight:bold;color:#333;width:8px;line-height:16px;padding:0px 5px 3px;border-radius:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border:1px solid darkOliveGreen;cursor:pointer;z-index:2}.sq_post_rank_row .sq_post_rank_refresh{position:absolute;right:30px;top:18px;font-size:12px;font-weight:bold;color:white;line-height:16px;padding:2px 9px;background-color:#57c332;text-shadow:1px 1px #333;border:1px solid #89e46a;box-shadow:0px 0px 2px 0px #57c332;cursor:pointer;z-index:2}#sq_analytics .sq_first_header_column{width:122px}#sq_analytics .sq_second_column{width:528px}#sq_analytics .sq_second_column span{width:100%}#sq_analytics .sq_third_column{position:relative;overflow:visible;width:300px;text-align:center}#sq_analytics .sq_analytics_task_completed{display:block;top:-22px;float:left;position:relative;line-height:40px;width:auto;height:auto;min-width:50px;min-height:40px;margin:0 20px;padding:10px;text-align:center;font-size:30px;color:#fff;box-shadow:1px 1px 2px 0px #999;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=1, Color='#999');-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=270, Color='#999')";border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;-webkit-border-radius:5px 5px 5px 0}#sq_analytics .sq_analytics_tasks .sq_analytics_task_completed{display:block;width:100px;height:65px;font-size:20px;color:#fff;text-shadow:1px 1px #555;line-height:29px;vertical-align:middle}#sq_analytics .sq_analytics_task_completed:before{content:"";width:0;height:0;position:absolute;bottom:-13px;left:0;border-width:0 0 14px 25px;border-style:solid;z-index:2}#sq_analytics .sq_analytics_task_completed:after{content:"";width:0;height:0;position:absolute;bottom:-15px;left:0;border-collapse:collapse;border-width:0 0 15px 28px;border-style:solid;border-color:transparent transparent transparent #999}#sq_analytics .sq_audit_task_completed_green{color:#fff;background:#1e9a04}#sq_analytics .sq_audit_task_completed_green_text{color:#1e9a04}#sq_analytics .sq_audit_task_completed_green:before{border-color:transparent transparent transparent #1e9a04}#sq_analytics .sq_audit_task_completed_yellow{color:#fff;background:#f6a304}#sq_analytics .sq_audit_task_completed_yellow_text{color:#f6a304}#sq_analytics .sq_audit_task_completed_yellow:before{border-color:transparent transparent transparent #f6a304}#sq_analytics .sq_audit_task_completed_red{color:#fff;background:#bb0d0c}#sq_analytics .sq_audit_task_completed_red_text{color:#bb0d0c}#sq_analytics .sq_audit_task_completed_red:before{border-color:transparent transparent transparent #bb0d0c}#sq_analytics div.sq_analytics_groups{width:80%;margin:0 auto 50px auto}#sq_analytics .sq_analytics_list > li{margin-top:40px}#sq_analytics .sq_analytics_list td{border:none;vertical-align:top;overflow:visible}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header{height:50px;overflow:visible}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_tasks_header_title{float:left;font-size:36px;line-height:16px}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_task_completed{margin:0 21px !important;padding:10px}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_task_completed:before{right:4px;left:auto}#sq_analytics .sq_analytics_list .sq_analytics_tasks_header .sq_analytics_task_completed:after{bottom:-15px;right:2px;left:auto;border-width:0 0 15px 26px}.sq_analytics_tasks_pass{display:block;background:transparent url("../img/sprite.png") repeat-x;background-position:-5px -380px;height:84px;width:97px;margin-right:20px}.sq_analytics_tasks_fail{display:block;background:transparent url("../img/sprite.png") repeat-x;background-position:-103px -380px;height:84px;width:97px;margin-right:20px}#sq_analytics .sq_analytics_tasks_row{width:100%;position:relative;margin-top:30px}#sq_analytics .sq_analytics_tasks_row > table{width:100%}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_title{font-size:24px;line-height:28px;color:#a8a8a8;padding-right:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value{font-size:24px;line-height:28px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_pass a{font-size:15px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_fail a{font-size:15px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_pass{color:#1e9a04}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value_fail{color:#f7681a}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description{padding-top:20px;max-width:540px;font-size:16px;line-height:21px;color:#a8a8a8}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description span{display:block;margin-bottom:15px;margin-left:0}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description span.sq_analytics_tasks_alias{margin-bottom:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_tasks_value{font-size:15px;line-height:21px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description a{text-decoration:none}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description ul li{margin-left:10px;margin-top:7px;font-size:14px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_tip,#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_fix{font-size:14px;line-height:19px;color:#333333}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_tip a,#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_fix a{text-decoration:none;font-weight:bold;color:orange}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_fix strong{color:#f7681a}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values{width:330px;margin:30px auto 0 auto}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li > div{float:left;margin-right:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li{clear:both;height:30px;line-height:20px;border-bottom:1px dashed #eee}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li .sq_analytics_values_title{font-size:16px;width:195px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_analytics_values li .sq_analytics_values_value{font-weight:bold;width:75px;text-align:right}#sq_analytics .sq_list_error_title,#sq_analytics .sq_list_success_title{display:block;font-size:20px;color:#333;height:31px;width:90% !important;margin-top:30px;padding-left:30px;border-bottom:5px solid #ccc;box-shadow:0px 1px 0 0 #999;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=1, Color='#999');-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=270, Color='#999')";border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;background:transparent url("../img/list_icon.png") no-repeat 1px 3px}#sq_analytics .sq_list_error,#sq_analytics .sq_list_success{display:block;font-size:15px;font-weight:normal;color:#333;margin-left:0px;margin-top:5px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_description .sq_list_success span{margin-bottom:10px}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value .sq_list_error,#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_value .sq_list_success{font-style:italic}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_video_cover{background:#333 url("../img/sprite.png") no-repeat;background-position:-208px -375px;width:280px;height:158px;border:2px solid #000;border-radius:5px;margin:0 auto;cursor:pointer}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_video a{display:block;width:280px;text-align:center;font-size:15px;margin-top:3px;margin:0 5px}#sq_analytics .sq_analytics_tasks_row .sq_chart_text{position:absolute;font-size:14px;line-height:20px;color:#cfcfcf;top:80px;text-align:center;width:93%}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_side{text-align:center}#sq_analytics .sq_analytics_tasks_row .sq_analytics_tasks_side .sq_analytics_tasks_side_text{display:block;font-size:14px;line-height:21px;color:#cfcfcf;text-align:center}#sq_analytics .sq_rank_sprite{float:left;display:block;margin:1px 0 0 0;background:transparent url('../img/sprite.png') no-repeat;background-position:20px 0px;width:20px;height:20px}#sq_analytics .sq_rank_flag_big{display:block;float:none;margin:0 auto 6px auto;background-position:-7px -279px;width:72px;height:70px}#sq_analytics .sq_rank_flag_facebook{background-position:-10px -253px}#sq_analytics .sq_rank_flag_facebook_big{background-position:-7px -279px}#sq_analytics .sq_rank_flag_facebook_like{background-position:-212px -253px}#sq_analytics .sq_rank_flag_twitter{background-position:-53px -253px}#sq_analytics .sq_rank_flag_twitter_big{background-position:-372px -279px}#sq_analytics .sq_rank_flag_googleplus{background-position:-31px -253px}#sq_analytics .sq_rank_flag_googleplus_big{background-position:-153px -279px}#sq_analytics .sq_rank_flag_stumbleupon{background-position:-190px -253px}#sq_analytics .sq_rank_flag_stumbleupon_big{background-position:-299px -279px}#sq_analytics .sq_rank_flag_linkedin{background-position:-231px -253px}#sq_analytics .sq_rank_flag_linkedin_big{background-position:-80px -279px}#sq_analytics .sq_rank_flag_reddit{background-position:-250px -253px}#sq_analytics .sq_rank_flag_reddit_big{background-position:-226px -279px}#sq_analytics .sq_rank_seomoz_inbound{background-position:-97px -253px}#sq_analytics .sq_rank_seomoz_authority{background-position:-119px -253px}#sq_analytics .sq_rank_seomoz_rank{background-position:-273px -253px}#sq_analytics .sq_rank_google_pagerank{background-position:-273px -253px}#sq_analytics .sq_rank_squirrly_rank{background-position:-314px -253px}.sq_rank_custom_meta{display:block;font-size:13px;width:16px;height:16px;margin:0;padding:0;cursor:pointer;float:right}.sq_rank_customtitle{background-position:-308px -75px}.sq_rank_customdescription{background-position:-326px -75px}
themes/default/img/sprite.png CHANGED
Binary file
themes/default/js/sq_blockaudit.js CHANGED
@@ -1,3 +1,3 @@
1
 
2
- function sq_checkAudit(sq_dash_url,sq_token){jQuery.getJSON(sq_dash_url+'api/?callback=?',{action:'check_audit',token:sq_token},function(data){if(typeof data.audit!=='undefined'&&typeof data.error!=='undefined'){if(data.audit==true&&data.error==false){if(typeof data.datetime!=='undefined'&&jQuery('sq_audit_date').length==0){jQuery("#sq_dashboard").find('.sq_dashboard_audit').append('<span id="sq_audit_date">Last update: '+data.datetime+'</span>');}
3
  jQuery("#sq_dashboard").find('.sq_dashboard_audit').bind('click',function(){var href=sq_dash_url+'user/audit/'+sq_token;var win=window.open(href,'_blank');win.focus();});}else{jQuery("#sq_dashboard").find('#sq_audit_error').show();jQuery("#sq_dashboard").find('.sq_dashboard_audit').bind('click',function(){alert(jQuery("#sq_dashboard").find('#sq_audit_error').html());});}}else{jQuery("#sq_dashboard").find('.sq_audit_error').html('Could not connect to server!');jQuery("#sq_dashboard").find('.sq_audit_error').show();}});}
1
 
2
+ function sq_checkAudit(sq_dash_url,sq_token){jQuery.getJSON(sq_dash_url+'api/?callback=?',{action:'check_audit',token:sq_token},function(data){if(typeof data.audit!=='undefined'&&typeof data.error!=='undefined'){if(data.audit===true&&data.error===false){if(typeof data.datetime!=='undefined'&&jQuery('sq_audit_date').length===0){jQuery("#sq_dashboard").find('.sq_dashboard_audit').append('<span id="sq_audit_date">Last update: '+data.datetime+'</span>');}
3
  jQuery("#sq_dashboard").find('.sq_dashboard_audit').bind('click',function(){var href=sq_dash_url+'user/audit/'+sq_token;var win=window.open(href,'_blank');win.focus();});}else{jQuery("#sq_dashboard").find('#sq_audit_error').show();jQuery("#sq_dashboard").find('.sq_dashboard_audit').bind('click',function(){alert(jQuery("#sq_dashboard").find('#sq_audit_error').html());});}}else{jQuery("#sq_dashboard").find('.sq_audit_error').html('Could not connect to server!');jQuery("#sq_dashboard").find('.sq_audit_error').show();}});}
themes/default/js/sq_blocklogin.js CHANGED
@@ -1,22 +1,24 @@
1
 
2
- jQuery(document).ready(function(){jQuery('#sq_email').bind('keypress',function(event){if(event.keyCode==13)
3
- sq_autoLogin();return event.keyCode!=13;});jQuery('#sq_user').bind('keypress',function(event){if(event.keyCode==13)
4
- jQuery('#sq_login').trigger('click');return event.keyCode!=13;});jQuery('#sq_password').bind('keypress',function(event){if(event.keyCode==13)
5
- jQuery('#sq_login').trigger('click');return event.keyCode!=13;});jQuery('#sq_signin').bind('click',function(event){jQuery('#sq_autologin').hide();jQuery('#sq_blocklogin').find('ul').show();jQuery('#sq_user').val(jQuery('#sq_email').val());jQuery('#sq_email').focus();});jQuery('#sq_signup').bind('click',function(event){jQuery('#sq_autologin').show();jQuery('#sq_blocklogin').find('ul').hide();jQuery('#sq_email').focus();});jQuery('#sq_login').bind('click',function(){jQuery('#sq_login').addClass('sq_minloading');jQuery('#sq_login').attr("disabled","disabled");jQuery('#sq_login').val('');jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_login',user:jQuery('#sq_user').val(),password:jQuery('#sq_password').val(),nonce:sqQuery.nonce}).success(function(response){if(typeof response.error!='undefined')
6
- if(response.error=='invalid_token'){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_reset',nonce:sqQuery.nonce}).success(function(response){if(typeof response.reset!='undefined')
7
- if(response.reset=='success')
 
8
  location.reload();});}
9
- jQuery('#sq_login').removeAttr("disabled");jQuery('#sq_login').val('Login');jQuery('#sq_login').removeClass('sq_minloading');if(typeof response.token!='undefined'){__token=response.token;sq_reload(response);}else
10
- if(typeof response.error!='undefined')
11
- jQuery('#sq_blocklogin').find('.sq_error').html(response.error);}).error(function(response){if(response.status==200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_login').removeAttr("disabled");jQuery('#sq_login').val('Login');jQuery('#sq_login').removeClass('sq_minloading');if(typeof response.token!='undefined'){__token=response.token;sq_reload(response);}else
12
- if(typeof response.error!='undefined')
13
- jQuery('#sq_blocklogin').find('.sq_error').html(response.error);}catch(e){}}else{jQuery('#sq_login').removeAttr("disabled");jQuery('#sq_login').val('Login');jQuery('#sq_login').removeClass('sq_minloading');jQuery('#sq_blocklogin').find('.sq_error').html(__error_login);}});});});function sq_autoLogin(){if(!checkEmail(jQuery('#sq_email').val())){jQuery('#sq_blocklogin').find('.sq_error').html(__invalid_email);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);return false;}
14
- jQuery('#sq_register').html(__connecting);jQuery('#sq_register_wait').addClass('sq_minloading');jQuery('#sq_blocklogin').find('.sq_message').hide();jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_register',email:jQuery('#sq_email').val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_register_wait').removeClass('sq_minloading');if(typeof response.token!='undefined'){__token=response.token;if(typeof response.success!='undefined'){jQuery('#sq_login_success').html(response.success);}
15
- sq_reload(response);}else{if(typeof response.info!='undefined'){jQuery('#sq_autologin').hide();jQuery('#sq_blocklogin').find('ul').show();jQuery('#sq_blocklogin').find('.sq_message').html(response.info).show();jQuery('#sq_user').val(jQuery('#sq_email').val());jQuery('#sq_password').focus();}else{if(typeof response.error!='undefined'){jQuery('#sq_blocklogin').find('.sq_error').html(response.error);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);}}}}).error(function(response){if(response.status==200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);if(typeof response.info!='undefined'){jQuery('#sq_autologin').hide();jQuery('#sq_blocklogin').find('ul').show();jQuery('#sq_blocklogin').find('.sq_message').html(response.info).show();jQuery('#sq_user').val(jQuery('#sq_email').val());jQuery('#sq_password').focus();}else{if(typeof response.error!='undefined'){jQuery('#sq_blocklogin').find('.sq_error').html(response.error);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);}}}catch(e){}}else{jQuery('#sq_register_wait').removeClass('sq_minloading');jQuery('#sq_blocklogin').find('.sq_error').html(__error_login);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);}});}
16
- function sq_reload(response){if(typeof response.success!='undefined'){jQuery('#sq_login_success').html(response.success);}
17
- if(jQuery('#content-html').length>0){jQuery('#sq_blocklogin').remove();location.reload();}else{if(jQuery('#sq_blocklogin').length==0)
18
- jQuery('#sq_settings').prepend('<div id="sq_blocklogin">');jQuery('#sq_blocklogin').addClass('sq_login_done');jQuery('#sq_blocklogin').html(jQuery('#sq_login_success'));jQuery('#sq_blocklogin').append(jQuery('#sq_goto_newpost'));jQuery('#sq_login_success').show();jQuery('#sq_goto_newpost').show();}}
 
19
  function checkEmail(email)
20
- {var emailRegEx=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;if(email!='')
21
  if(emailRegEx.test(email)){return true;}else{return false;}
22
  return true;}
1
 
2
+ if(jQuery('#sq_blocklogin').length>0){sq_blocklogin();}else{jQuery(document).ready(function(){sq_blocklogin();});}
3
+ function sq_blocklogin(){jQuery('#sq_email').bind('keypress',function(event){if(event.keyCode===13)
4
+ sq_autoLogin();return event.keyCode!==13;});jQuery('#sq_user').bind('keypress',function(event){if(event.keyCode===13)
5
+ jQuery('#sq_login').trigger('click');return event.keyCode!==13;});jQuery('#sq_password').bind('keypress',function(event){if(event.keyCode===13)
6
+ jQuery('#sq_login').trigger('click');return event.keyCode!==13;});jQuery('#sq_signin').bind('click',function(event){jQuery('#sq_autologin').hide();jQuery('#sq_blocklogin').find('ul').show();jQuery('#sq_user').val(jQuery('#sq_email').val());jQuery('#sq_email').focus();});jQuery('#sq_signup').bind('click',function(event){jQuery('#sq_autologin').show();jQuery('#sq_blocklogin').find('ul').hide();jQuery('#sq_email').focus();});jQuery('#sq_login').bind('click',function(){jQuery('#sq_login').addClass('sq_minloading');jQuery('#sq_login').attr("disabled","disabled");jQuery('#sq_login').val('');jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_login',user:jQuery('#sq_user').val(),password:jQuery('#sq_password').val(),nonce:sqQuery.nonce}).success(function(response){if(typeof response.error!=='undefined')
7
+ if(response.error==='invalid_token'){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_reset',nonce:sqQuery.nonce}).success(function(response){if(typeof response.reset!=='undefined')
8
+ if(response.reset==='success')
9
  location.reload();});}
10
+ jQuery('#sq_login').removeAttr("disabled");jQuery('#sq_login').val('Login');jQuery('#sq_login').removeClass('sq_minloading');if(typeof response.token!=='undefined'){__token=response.token;sq_reload(response);}else
11
+ if(typeof response.error!=='undefined')
12
+ jQuery('#sq_blocklogin').find('.sq_error').html(response.error);}).error(function(response){if(response.status===200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_login').removeAttr("disabled");jQuery('#sq_login').val('Login');jQuery('#sq_login').removeClass('sq_minloading');if(typeof response.token!=='undefined'){__token=response.token;sq_reload(response);}else
13
+ if(typeof response.error!=='undefined')
14
+ jQuery('#sq_blocklogin').find('.sq_error').html(response.error);}catch(e){}}else{jQuery('#sq_login').removeAttr("disabled");jQuery('#sq_login').val('Login');jQuery('#sq_login').removeClass('sq_minloading');jQuery('#sq_blocklogin').find('.sq_error').html(__error_login);}});});}
15
+ function sq_autoLogin(){if(!checkEmail(jQuery('#sq_email').val())){jQuery('#sq_blocklogin').find('.sq_error').html(__invalid_email);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);return false;}
16
+ jQuery('#sq_register').html(__connecting);jQuery('#sq_register_wait').addClass('sq_minloading');jQuery('#sq_blocklogin').find('.sq_message').hide();jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_register',email:jQuery('#sq_email').val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_register_wait').removeClass('sq_minloading');if(typeof response.token!=='undefined'){__token=response.token;if(typeof response.success!=='undefined'){jQuery('#sq_login_success').html(response.success);}
17
+ sq_reload(response);}else{if(typeof response.info!=='undefined'){jQuery('#sq_autologin').hide();jQuery('#sq_blocklogin').find('ul').show();jQuery('#sq_blocklogin').find('.sq_message').html(response.info).show();jQuery('#sq_user').val(jQuery('#sq_email').val());jQuery('#sq_password').focus();}else{if(typeof response.error!=='undefined'){jQuery('#sq_blocklogin').find('.sq_error').html(response.error);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);}}}}).error(function(response){if(response.status===200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);if(typeof response.info!=='undefined'){jQuery('#sq_autologin').hide();jQuery('#sq_blocklogin').find('ul').show();jQuery('#sq_blocklogin').find('.sq_message').html(response.info).show();jQuery('#sq_user').val(jQuery('#sq_email').val());jQuery('#sq_password').focus();}else{if(typeof response.error!=='undefined'){jQuery('#sq_blocklogin').find('.sq_error').html(response.error);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);}}}catch(e){}}else{jQuery('#sq_register_wait').removeClass('sq_minloading');jQuery('#sq_blocklogin').find('.sq_error').html(__error_login);jQuery('#sq_register_email').show();jQuery('#sq_register').html(__try_again);}});}
18
+ function sq_reload(response){if(typeof response.success!=='undefined'){jQuery('#sq_login_success').html(response.success);}
19
+ if(jQuery('#content-html').length>0){jQuery('#sq_blocklogin').remove();location.reload();}else{if(jQuery('#sq_blocklogin').length===0)
20
+ jQuery('#sq_settings').prepend('<div id="sq_blocklogin">');jQuery('#sq_blocklogin').addClass('sq_login_done');jQuery('#sq_blocklogin').html(jQuery('#sq_login_success'));jQuery('#sq_blocklogin').append(jQuery('#sq_goto_newpost'));jQuery('#sq_login_success').show();jQuery('#sq_goto_newpost').show();jQuery('.sq_login_link').after(jQuery('#sq_goto_newpost').clone());jQuery('.sq_login_link').remove();}}
21
  function checkEmail(email)
22
+ {var emailRegEx=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;if(email!=='')
23
  if(emailRegEx.test(email)){return true;}else{return false;}
24
  return true;}
themes/default/js/sq_blocksupport.js CHANGED
@@ -1,18 +1,16 @@
1
 
2
- jQuery(document).ready(function(){if(typeof sq_facebook_b==='undefined')
 
3
  var sq_facebook_b='<iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FSquirrly.co&amp;send=false&amp;layout=button_count&amp;width=90&amp;show_faces=false&amp;font=arial&amp;colorscheme=light&amp;action=like&amp;height=21&amp;appId=384403641631593" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:21px;" allowTransparency="true"></iframe>';jQuery('#sq_options_support').find('span').bind('click',function(){jQuery('.sq_options_support_popup').show();jQuery('.sq_options_feedback_popup').hide();});jQuery('#sq_options_close').bind('click',function(){jQuery('.sq_options_support_popup').hide();});jQuery('#sq_options_feedback').find('span').bind('click',function(){jQuery('.sq_options_feedback_popup').show();jQuery("#sq_options_feedback").find('.sq_push').hide();jQuery('.sq_options_support_popup').hide();});jQuery("#sq_options_feedback_close").bind('click',function(){jQuery('.sq_options_feedback_popup').hide();});jQuery("#sq_feedback_0").bind('click',function(){jQuery('#sq_feedback_msg').show();});jQuery("#sq_feedback_1").bind('click',function(){jQuery('#sq_feedback_msg').show();});jQuery("#sq_feedback_2").bind('click',function(){jQuery("#sq_feedback_submit").trigger('click');for(i=0;i<5;i++)
4
- jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_'+i);jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_2');if(jQuery("#sq_facebook_b").length==0)
5
  jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">'+sq_facebook_b+'</span></div>');});jQuery("#sq_feedback_3").bind('click',function(){jQuery("#sq_feedback_submit").trigger('click');for(i=0;i<5;i++)
6
- jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_'+i);jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_3');if(jQuery("#sq_facebook_b").length==0)
7
  jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">'+sq_facebook_b+'</span></div>');});jQuery("#sq_feedback_4").bind('click',function(){jQuery("#sq_feedback_submit").trigger('click');for(i=0;i<5;i++)
8
- jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_'+i);jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_4');if(jQuery("#sq_facebook_b").length==0)
9
- jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">'+sq_facebook_b+'</span></div>');});jQuery("#sq_feedback_submit").bind('click',function(){jQuery('#sq_feedback_msg').hide();jQuery('#sq_options_feedback_error').html('<p class="sq_minloading" style="margin:0 auto; padding:2px;"></p>')
10
- jQuery('#sq_feedback_submit').attr("disabled","disabled");document.cookie="sq_feedback_face="+jQuery("input[name=sq_feedback_face]:radio:checked").val()+"; expires="+(60*12)+"; path=/";jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_feedback',feedback:jQuery("input[name=sq_feedback_face]:radio:checked").val(),message:jQuery("textarea[name=sq_feedback_message]").val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_feedback_submit').removeAttr("disabled");jQuery('#sq_feedback_submit').val('Send feedback');jQuery("textarea[name=sq_feedback_message]").val('');if(typeof response.message!='undefined'){jQuery('#sq_options_feedback_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
11
- jQuery('#sq_options_feedback_error').removeClass('sq_error').html('');}).error(function(response){if(response.status==200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_feedback_submit').removeAttr("disabled");jQuery('#sq_feedback_submit').val('Send feedback');jQuery("textarea[name=sq_feedback_message]").val('');if(typeof response.message!='undefined'){jQuery('#sq_options_feedback_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
12
- jQuery('#sq_options_feedback_error').removeClass('sq_error').html('');}catch(e){}}else{jQuery('#sq_feedback_submit').removeAttr("disabled");jQuery('#sq_feedback_submit').val('Send feedback');jQuery('#sq_feedback_submit').removeClass('sq_minloading');jQuery('#sq_options_feedback_error').addClass('sq_error').removeClass('sq_message').html('Could not send the feedback');}});});jQuery("#sq_support_submit").bind('click',function(){jQuery('#sq_options_support_error').html('<p class="sq_minloading" style="margin:0 auto; padding:2px;"></p>')
13
- jQuery('#sq_support_submit').attr("disabled","disabled");jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_support',message:jQuery("textarea[name=sq_support_message]").val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_support_submit').removeAttr("disabled");jQuery("textarea[name=sq_support_message]").val('');if(typeof response.message!='undefined'){jQuery('#sq_options_support_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
14
- jQuery('#sq_options_support_error').removeClass('sq_error').html('');}).error(function(response){if(response.status==200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_support_submit').removeAttr("disabled");jQuery("textarea[name=sq_support_message]").val('');if(typeof response.message!='undefined'){jQuery('#sq_options_support_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
15
- jQuery('#sq_options_support_error').removeClass('sq_error').html('');}catch(e){}}else{jQuery('#sq_support_submit').removeAttr("disabled");jQuery('#sq_support_submit').val('Send feedback');jQuery('#sq_support_submit').removeClass('sq_minloading');jQuery('#sq_options_support_error').addClass('sq_error').removeClass('sq_message').html('Could not send the feedback');}});});jQuery("#sq_survey_submit").bind('click',function(){jQuery('#sq_survey_error').html('<p class="sq_minloading" style="margin:0 auto; padding:2px;"></p>')
16
- jQuery('#sq_survey_submit').attr("disabled","disabled");jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_support',subject:'Survey message',message:jQuery("textarea[name=sq_survey_message]").val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_survey_submit').removeAttr("disabled");jQuery("textarea[name=sq_survey_message]").val('');if(typeof response.message!='undefined'){jQuery('#sq_survey_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
17
- jQuery('#sq_survey_error').removeClass('sq_error').html('');if(typeof response.success!='undefined'){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_hide_survey',sq_hide_survey:'1',nonce:sqQuery.nonce});}}).error(function(response){if(response.status==200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_survey_submit').removeAttr("disabled");jQuery("textarea[name=sq_survey_message]").val('');if(typeof response.message!='undefined'){jQuery('#sq_survey_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
18
- jQuery('#sq_survey_error').removeClass('sq_error').html('');}catch(e){}}else{jQuery('#sq_survey_submit').removeAttr("disabled");jQuery('#sq_survey_submit').val('Send feedback');jQuery('#sq_survey_submit').removeClass('sq_minloading');jQuery('#sq_survey_error').addClass('sq_error').removeClass('sq_message').html('Could not send your message');}});});jQuery("#sq_survey_close").bind('click',function(){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_hide_survey',sq_hide_survey:'1',nonce:sqQuery.nonce}).success(function(){jQuery('#sq_survey').hide();});});});
1
 
2
+ if(jQuery('#sq_options').length>0){sq_blocksupport();}else{jQuery(document).ready(function(){sq_blocksupport();});}
3
+ function sq_blocksupport(){if(typeof sq_facebook_b==='undefined')
4
  var sq_facebook_b='<iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FSquirrly.co&amp;send=false&amp;layout=button_count&amp;width=90&amp;show_faces=false&amp;font=arial&amp;colorscheme=light&amp;action=like&amp;height=21&amp;appId=384403641631593" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:21px;" allowTransparency="true"></iframe>';jQuery('#sq_options_support').find('span').bind('click',function(){jQuery('.sq_options_support_popup').show();jQuery('.sq_options_feedback_popup').hide();});jQuery('#sq_options_close').bind('click',function(){jQuery('.sq_options_support_popup').hide();});jQuery('#sq_options_feedback').find('span').bind('click',function(){jQuery('.sq_options_feedback_popup').show();jQuery("#sq_options_feedback").find('.sq_push').hide();jQuery('.sq_options_support_popup').hide();});jQuery("#sq_options_feedback_close").bind('click',function(){jQuery('.sq_options_feedback_popup').hide();});jQuery("#sq_feedback_0").bind('click',function(){jQuery('#sq_feedback_msg').show();});jQuery("#sq_feedback_1").bind('click',function(){jQuery('#sq_feedback_msg').show();});jQuery("#sq_feedback_2").bind('click',function(){jQuery("#sq_feedback_submit").trigger('click');for(i=0;i<5;i++)
5
+ jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_'+i);jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_2');if(jQuery("#sq_facebook_b").length===0)
6
  jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">'+sq_facebook_b+'</span></div>');});jQuery("#sq_feedback_3").bind('click',function(){jQuery("#sq_feedback_submit").trigger('click');for(i=0;i<5;i++)
7
+ jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_'+i);jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_3');if(jQuery("#sq_facebook_b").length===0)
8
  jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">'+sq_facebook_b+'</span></div>');});jQuery("#sq_feedback_4").bind('click',function(){jQuery("#sq_feedback_submit").trigger('click');for(i=0;i<5;i++)
9
+ jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_'+i);jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_4');if(jQuery("#sq_facebook_b").length===0)
10
+ jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">'+sq_facebook_b+'</span></div>');});jQuery("#sq_feedback_submit").bind('click',function(){jQuery('#sq_feedback_msg').hide();jQuery('#sq_options_feedback_error').html('<p class="sq_minloading" style="margin:0 auto; padding:2px;"></p>');jQuery('#sq_feedback_submit').attr("disabled","disabled");document.cookie="sq_feedback_face="+jQuery("input[name=sq_feedback_face]:radio:checked").val()+"; expires="+(60*12)+"; path=/";jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_feedback',feedback:jQuery("input[name=sq_feedback_face]:radio:checked").val(),message:jQuery("textarea[name=sq_feedback_message]").val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_feedback_submit').removeAttr("disabled");jQuery('#sq_feedback_submit').val('Send feedback');jQuery("textarea[name=sq_feedback_message]").val('');if(typeof response.message!=='undefined'){jQuery('#sq_options_feedback_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
11
+ jQuery('#sq_options_feedback_error').removeClass('sq_error').html('');}).error(function(response){if(response.status===200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_feedback_submit').removeAttr("disabled");jQuery('#sq_feedback_submit').val('Send feedback');jQuery("textarea[name=sq_feedback_message]").val('');if(typeof response.message!=='undefined'){jQuery('#sq_options_feedback_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
12
+ jQuery('#sq_options_feedback_error').removeClass('sq_error').html('');}catch(e){}}else{jQuery('#sq_feedback_submit').removeAttr("disabled");jQuery('#sq_feedback_submit').val('Send feedback');jQuery('#sq_feedback_submit').removeClass('sq_minloading');jQuery('#sq_options_feedback_error').addClass('sq_error').removeClass('sq_message').html('Could not send the feedback');}});});jQuery("#sq_support_submit").bind('click',function(){jQuery('#sq_options_support_error').html('<p class="sq_minloading" style="margin:0 auto; padding:2px;"></p>');jQuery('#sq_support_submit').attr("disabled","disabled");jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_support',message:jQuery("textarea[name=sq_support_message]").val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_support_submit').removeAttr("disabled");jQuery("textarea[name=sq_support_message]").val('');if(typeof response.message!=='undefined'){jQuery('#sq_options_support_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
13
+ jQuery('#sq_options_support_error').removeClass('sq_error').html('');}).error(function(response){if(response.status===200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_support_submit').removeAttr("disabled");jQuery("textarea[name=sq_support_message]").val('');if(typeof response.message!=='undefined'){jQuery('#sq_options_support_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
14
+ jQuery('#sq_options_support_error').removeClass('sq_error').html('');}catch(e){}}else{jQuery('#sq_support_submit').removeAttr("disabled");jQuery('#sq_support_submit').val('Send feedback');jQuery('#sq_support_submit').removeClass('sq_minloading');jQuery('#sq_options_support_error').addClass('sq_error').removeClass('sq_message').html('Could not send the feedback');}});});jQuery("#sq_survey_submit").bind('click',function(){jQuery('#sq_survey_error').html('<p class="sq_minloading" style="margin:0 auto; padding:2px;"></p>');jQuery('#sq_survey_submit').attr("disabled","disabled");jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_support',subject:'Survey message',message:jQuery("textarea[name=sq_survey_message]").val(),nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_survey_submit').removeAttr("disabled");jQuery("textarea[name=sq_survey_message]").val('');if(typeof response.message!=='undefined'){jQuery('#sq_survey_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
15
+ jQuery('#sq_survey_error').removeClass('sq_error').html('');if(typeof response.success!=='undefined'){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_hide_survey',sq_hide_survey:'1',nonce:sqQuery.nonce});}}).error(function(response){if(response.status===200&&response.responseText.indexOf('{')>0){response.responseText=response.responseText.substr(response.responseText.indexOf('{'),response.responseText.lastIndexOf('}'));try{response=jQuery.parseJSON(response.responseText);jQuery('#sq_survey_submit').removeAttr("disabled");jQuery("textarea[name=sq_survey_message]").val('');if(typeof response.message!=='undefined'){jQuery('#sq_survey_error').removeClass('sq_error').addClass('sq_message').html(response.message);}else
16
+ jQuery('#sq_survey_error').removeClass('sq_error').html('');}catch(e){}}else{jQuery('#sq_survey_submit').removeAttr("disabled");jQuery('#sq_survey_submit').val('Send feedback');jQuery('#sq_survey_submit').removeClass('sq_minloading');jQuery('#sq_survey_error').addClass('sq_error').removeClass('sq_message').html('Could not send your message');}});});jQuery("#sq_survey_close").bind('click',function(){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_hide_survey',sq_hide_survey:'1',nonce:sqQuery.nonce}).success(function(){jQuery('#sq_survey').hide();});});}
 
 
 
themes/default/js/sq_menu.js CHANGED
@@ -1,36 +1,38 @@
1
 
2
- jQuery(document).ready(function(){var snippet_timeout;jQuery("#sq_goto_dashboard").bind('click',function(){location.href="?page=sq_dashboard";});jQuery("#sq_goto_settings").bind('click',function(){location.href="?page=squirrly";});jQuery('#sq_automatically').bind('click',function(){jQuery('#sq_customize_settings').hide();jQuery('#sq_snippet_disclaimer').hide();jQuery('#sq_title_description_keywords').removeClass('sq_custom_title');});jQuery('#sq_settings_form').find('input[type=radio]').bind('click',function(){sq_submitSettings();sq_getSnippet();});jQuery('#sq_customize').bind('click',function(){jQuery('#sq_customize_settings').show();jQuery('#sq_snippet_disclaimer').show();jQuery('#sq_title_description_keywords').addClass('sq_custom_title');});jQuery('#sq_settings').find('input[name=sq_fp_title]').bind('keyup',function(){if(snippet_timeout){clearTimeout(snippet_timeout);}
3
- snippet_timeout=setTimeout(function(){sq_submitSettings();sq_getSnippet();},1000)
4
- sq_trackLength(jQuery(this),'title');});jQuery('#sq_settings').find('textarea[name=sq_fp_description]').bind('keyup',function(){if(snippet_timeout){clearTimeout(snippet_timeout);}
5
- snippet_timeout=setTimeout(function(){sq_submitSettings();sq_getSnippet();},1000)
6
- sq_trackLength(jQuery(this),'description');});if(jQuery('#sq_settings').find('input[name=sq_auto_seo]').length>0){sq_getSnippet();}
7
  jQuery('#sq_auto_favicon1').bind('click',function(){jQuery('#sq_favicon').slideDown('fast');});jQuery('#sq_auto_favicon0').bind('click',function(){jQuery('#sq_favicon').slideUp('fast');});jQuery('#sq_use_on').bind('click',function(){jQuery('#sq_settings .sq_seo_switch_condition').show();jQuery('#sq_title_description_keywords').slideDown('fast');jQuery('#sq_social_media').slideDown('fast');jQuery('#sq_favicon').slideDown('fast');if(parseInt(jQuery('.sq_count').html())>0){var notif=(parseInt(jQuery('.sq_count').html())-1);if(notif>0){jQuery('.sq_count').html(notif);}else{jQuery('.sq_count').html(notif);jQuery('.sq_count').hide();}}
8
  jQuery('#sq_fix_auto').slideUp('show');});jQuery('#sq_use_off').bind('click',function(){jQuery('#sq_settings .sq_seo_switch_condition').hide();jQuery('#sq_title_description_keywords').slideUp('fast');jQuery('#sq_social_media').slideUp('fast');jQuery('#sq_favicon').slideUp('fast');if(parseInt(jQuery('.sq_count').html())>=0){var notif=(parseInt(jQuery('.sq_count').html())+1);if(notif>0){jQuery('.sq_count').html(notif).show();}}
9
  jQuery('#sq_fix_auto').slideDown('show');});jQuery('#sq_google_index1').bind('click',function(){if(parseInt(jQuery('.sq_count').html())>0){var notif=(parseInt(jQuery('.sq_count').html())-1);if(notif>0){jQuery('.sq_count').html(notif);}else{jQuery('.sq_count').html(notif);jQuery('.sq_count').hide();}}
10
  jQuery('#sq_fix_private').slideUp('show');});jQuery('#sq_google_index0').bind('click',function(){if(parseInt(jQuery('.sq_count').html())>=0){var notif=(parseInt(jQuery('.sq_count').html())+1);if(notif>0){jQuery('.sq_count').html(notif).show();}}
11
- jQuery('#sq_fix_private').slideDown('show');});jQuery('#sq_auto_twitter1').bind('click',function(){jQuery('#sq_twitter_account').show();});jQuery('#sq_auto_twitter0').bind('click',function(){jQuery('#sq_twitter_account').hide();});jQuery('#sq_settings').find('input[name=sq_auto_favicon]').bind('click',function(){});});function sq_showSaved(){}
 
12
  function sq_trackLength(field,type){var min=0;var max=0;if(typeof field==='undefined')
13
- return;if(type=='title'||type=='wp_title'){min=10;max=75;}else
14
- if(type=='description'){min=70;max=165;}
15
  if(min>0&&min>field.val().length)
16
  jQuery('#sq_'+type+'_info').html(__snippetshort);else
17
  if(max>0&&max<field.val().length)
18
  jQuery('#sq_'+type+'_info').html(__snippetlong);else
19
  if(max>0){jQuery('#sq_'+type+'_info').html(field.val().length+'/'+max);}}
20
- function sq_getSnippet(url,show_url){if(typeof url=='undefined')
21
- url='';if(typeof sq_blogurl!='undefined')
22
- url=sq_blogurl;if(typeof show_url=='undefined')
23
- show_url='';jQuery('#sq_snippet_ul').addClass('sq_minloading');jQuery('#sq_snippet_title').html('');jQuery('#sq_snippet_url').html('');jQuery('#sq_snippet_description').html('');jQuery('#sq_snippet_keywords').hide();jQuery('#sq_snippet').show();jQuery('#sq_snippet_update').hide();jQuery('#sq_snippet_customize').hide();setTimeout(function(){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_get_snippet',url:url,nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_snippet_ul').removeClass('sq_minloading');jQuery('#sq_snippet_update').show();jQuery('#sq_snippet_customize').show();jQuery('#sq_snippet_keywords').show();if(response){jQuery('#sq_snippet_title').html(response.title);if(show_url!='')
24
  jQuery('#sq_snippet_url').html('<a href="'+url+'" target="_blank">'+show_url+'</a>');else
25
  jQuery('#sq_snippet_url').html(response.url);jQuery('#sq_snippet_description').html(response.description);}}).error(function(){jQuery('#sq_snippet_ul').removeClass('sq_minloading');jQuery('#sq_snippet_update').show();}).complete(function(){jQuery('#sq_snippet_ul').removeClass('sq_minloading');jQuery('#sq_snippet_update').show();});},500);}
26
- function sq_submitSettings(){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_settings_update',sq_use:jQuery('#sq_settings').find('input[name=sq_use]:checked').val(),sq_auto_title:jQuery('#sq_settings').find('input[name=sq_auto_title]:checked').val(),sq_auto_description:jQuery('#sq_settings').find('input[name=sq_auto_description]:checked').val(),sq_auto_canonical:jQuery('#sq_settings').find('input[name=sq_auto_canonical]:checked').val(),sq_auto_sitemap:jQuery('#sq_settings').find('input[name=sq_auto_sitemap]:checked').val(),sq_auto_meta:jQuery('#sq_settings').find('input[name=sq_auto_meta]:checked').val(),sq_auto_favicon:jQuery('#sq_settings').find('input[name=sq_auto_favicon]:checked').val(),sq_auto_facebook:jQuery('#sq_settings').find('input[name=sq_auto_facebook]:checked').val(),sq_auto_twitter:jQuery('#sq_settings').find('input[name=sq_auto_twitter]:checked').val(),sq_twitter_account:jQuery('#sq_settings').find('input[name=sq_twitter_account]').val(),sq_auto_seo:jQuery('#sq_settings').find('input[name=sq_auto_seo]:checked').val(),sq_fp_title:jQuery('#sq_settings').find('input[name=sq_fp_title]').val(),sq_fp_description:jQuery('#sq_settings').find('textarea[name=sq_fp_description]').val(),sq_fp_keywords:jQuery('#sq_settings').find('input[name=sq_fp_keywords]').val(),ignore_warn:jQuery('#sq_settings').find('input[name=ignore_warn]:checked').val(),sq_keyword_help:jQuery('#sq_settings').find('input[name=sq_keyword_help]:checked').val(),sq_keyword_information:jQuery('#sq_settings').find('input[name=sq_keyword_information]:checked').val(),sq_google_country:jQuery('#sq_settings').find('select[name=sq_google_country]').filter(":selected").val(),sq_google_plus:jQuery('#sq_settings').find('input[name=sq_google_plus]').val(),sq_google_wt:jQuery('#sq_settings').find('input[name=sq_google_wt]').val(),sq_google_analytics:jQuery('#sq_settings').find('input[name=sq_google_analytics]').val(),sq_facebook_insights:jQuery('#sq_settings').find('input[name=sq_facebook_insights]').val(),sq_bing_wt:jQuery('#sq_settings').find('input[name=sq_bing_wt]').val(),sq_alexa:jQuery('#sq_settings').find('input[name=sq_alexa]').val(),sq_sla:jQuery('#sq_settings').find('input[name=sq_sla]:checked').val(),nonce:sqQuery.nonce});}
27
- function sq_getUserStatus(api_url,token){jQuery('#sq_userinfo').addClass('sq_loading');jQuery('#sq_userstatus').addClass('sq_loading');jQuery.getJSON(api_url+'sq/user/status/?callback=?',{token:token,lang:(document.getElementsByTagName("html")[0].getAttribute("lang")||window.navigator.language),}).success(function(response){if(typeof response.error!='undefined')
28
- if(response.error=='invalid_token'){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_reset',nonce:sqQuery.nonce}).success(function(response){if(typeof response.reset!='undefined')
29
- if(response.reset=='success')
30
  location.href="?page=sq_howto";});}
31
- jQuery('#sq_userinfo').removeClass('sq_loading').removeClass('sq_error');jQuery('#sq_userstatus').removeClass('sq_loading').removeClass('sq_error');if(typeof response.info!=='undefined'&&response.info!=''){jQuery('#sq_userinfo').html(response.info);}
32
- if(typeof response.stats!=='undefined'&&response.stats!=''){jQuery('#sq_userstatus').html(response.stats);}
33
- if(typeof response.data!=='undefined'&&typeof response.data.user_registered_date!=='undefined'){var currentDate=new Date();var day=currentDate.getDate();if(day.toString().length==1)
34
- day='0'+day.toString();var month=currentDate.getMonth()+1;if(month.toString().length==1)
35
  month='0'+month.toString();var year=currentDate.getFullYear();var currDate=year+'-'+month+'-'+day;var passed=((new Date(currDate).getTime()-new Date(response.data.user_registered_date).getTime())/(24*60*60*1000));;if(passed<=3&&jQuery('#sq_survey').length>0)
36
- jQuery('#sq_survey').show();}}).error(function(){jQuery('#sq_userinfo').html('');jQuery('#sq_userstatus').html('');})}
 
 
1
 
2
+ if(jQuery('#sq_settings').length>0){sq_blocksettings();}else{jQuery(document).ready(function(){sq_blocksettings();});}
3
+ function sq_blocksettings(){var snippet_timeout;jQuery("#sq_goto_dashboard").bind('click',function(){location.href="?page=sq_dashboard";});jQuery("#sq_goto_settings").bind('click',function(){location.href="?page=squirrly";});jQuery('#sq_automatically').bind('click',function(){jQuery('#sq_customize_settings').hide();jQuery('#sq_snippet_disclaimer').hide();jQuery('#sq_title_description_keywords').removeClass('sq_custom_title');});jQuery('#sq_settings_form').find('input[type=radio]').bind('click',function(){sq_submitSettings();sq_getSnippet();});jQuery('#sq_customize').bind('click',function(){jQuery('#sq_customize_settings').show();jQuery('#sq_snippet_disclaimer').show();jQuery('#sq_title_description_keywords').addClass('sq_custom_title');});jQuery('#sq_settings').find('input[name=sq_fp_title]').bind('keyup',function(){if(snippet_timeout){clearTimeout(snippet_timeout);}
4
+ snippet_timeout=setTimeout(function(){sq_submitSettings();sq_getSnippet();},1000);sq_trackLength(jQuery(this),'title');});jQuery('#sq_settings').find('textarea[name=sq_fp_description]').bind('keyup',function(){if(snippet_timeout){clearTimeout(snippet_timeout);}
5
+ snippet_timeout=setTimeout(function(){sq_submitSettings();sq_getSnippet();},1000);sq_trackLength(jQuery(this),'description');});if(jQuery('#sq_settings').find('input[name=sq_auto_seo]').length>0){sq_getSnippet();}
 
6
  jQuery('#sq_auto_favicon1').bind('click',function(){jQuery('#sq_favicon').slideDown('fast');});jQuery('#sq_auto_favicon0').bind('click',function(){jQuery('#sq_favicon').slideUp('fast');});jQuery('#sq_use_on').bind('click',function(){jQuery('#sq_settings .sq_seo_switch_condition').show();jQuery('#sq_title_description_keywords').slideDown('fast');jQuery('#sq_social_media').slideDown('fast');jQuery('#sq_favicon').slideDown('fast');if(parseInt(jQuery('.sq_count').html())>0){var notif=(parseInt(jQuery('.sq_count').html())-1);if(notif>0){jQuery('.sq_count').html(notif);}else{jQuery('.sq_count').html(notif);jQuery('.sq_count').hide();}}
7
  jQuery('#sq_fix_auto').slideUp('show');});jQuery('#sq_use_off').bind('click',function(){jQuery('#sq_settings .sq_seo_switch_condition').hide();jQuery('#sq_title_description_keywords').slideUp('fast');jQuery('#sq_social_media').slideUp('fast');jQuery('#sq_favicon').slideUp('fast');if(parseInt(jQuery('.sq_count').html())>=0){var notif=(parseInt(jQuery('.sq_count').html())+1);if(notif>0){jQuery('.sq_count').html(notif).show();}}
8
  jQuery('#sq_fix_auto').slideDown('show');});jQuery('#sq_google_index1').bind('click',function(){if(parseInt(jQuery('.sq_count').html())>0){var notif=(parseInt(jQuery('.sq_count').html())-1);if(notif>0){jQuery('.sq_count').html(notif);}else{jQuery('.sq_count').html(notif);jQuery('.sq_count').hide();}}
9
  jQuery('#sq_fix_private').slideUp('show');});jQuery('#sq_google_index0').bind('click',function(){if(parseInt(jQuery('.sq_count').html())>=0){var notif=(parseInt(jQuery('.sq_count').html())+1);if(notif>0){jQuery('.sq_count').html(notif).show();}}
10
+ jQuery('#sq_fix_private').slideDown('show');});jQuery('#sq_auto_twitter1').bind('click',function(){jQuery('#sq_twitter_account').show();});jQuery('#sq_auto_twitter0').bind('click',function(){jQuery('#sq_twitter_account').hide();});jQuery('.sq_login_link').bind('click',function(){var previewtop=jQuery('#sq_settings_login').offset().top-100;jQuery('html,body').animate({scrollTop:previewtop},1000);});}
11
+ function sq_showSaved(){}
12
  function sq_trackLength(field,type){var min=0;var max=0;if(typeof field==='undefined')
13
+ return;if(type==='title'||type==='wp_title'){min=10;max=75;}else
14
+ if(type==='description'){min=70;max=165;}
15
  if(min>0&&min>field.val().length)
16
  jQuery('#sq_'+type+'_info').html(__snippetshort);else
17
  if(max>0&&max<field.val().length)
18
  jQuery('#sq_'+type+'_info').html(__snippetlong);else
19
  if(max>0){jQuery('#sq_'+type+'_info').html(field.val().length+'/'+max);}}
20
+ function sq_getSnippet(url,show_url){if(typeof url==='undefined')
21
+ url='';if(typeof sq_blogurl!=='undefined')
22
+ url=sq_blogurl;if(typeof show_url==='undefined')
23
+ show_url='';jQuery('#sq_snippet_ul').addClass('sq_minloading');jQuery('#sq_snippet_title').html('');jQuery('#sq_snippet_url').html('');jQuery('#sq_snippet_description').html('');jQuery('#sq_snippet_keywords').hide();jQuery('#sq_snippet').show();jQuery('#sq_snippet_update').hide();jQuery('#sq_snippet_customize').hide();jQuery('#ogimage_preview').hide();setTimeout(function(){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_get_snippet',url:url,nonce:sqQuery.nonce}).success(function(response){jQuery('#sq_snippet_ul').removeClass('sq_minloading');jQuery('#sq_snippet_update').show();jQuery('#sq_snippet_customize').show();jQuery('#sq_snippet_keywords').show();jQuery('#ogimage_preview').show();if(response){jQuery('#sq_snippet_title').html(response.title);if(show_url!=='')
24
  jQuery('#sq_snippet_url').html('<a href="'+url+'" target="_blank">'+show_url+'</a>');else
25
  jQuery('#sq_snippet_url').html(response.url);jQuery('#sq_snippet_description').html(response.description);}}).error(function(){jQuery('#sq_snippet_ul').removeClass('sq_minloading');jQuery('#sq_snippet_update').show();}).complete(function(){jQuery('#sq_snippet_ul').removeClass('sq_minloading');jQuery('#sq_snippet_update').show();});},500);}
26
+ function sq_submitSettings(){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_settings_update',sq_use:jQuery('#sq_settings').find('input[name=sq_use]:checked').val(),sq_auto_title:jQuery('#sq_settings').find('input[name=sq_auto_title]:checked').val(),sq_auto_description:jQuery('#sq_settings').find('input[name=sq_auto_description]:checked').val(),sq_auto_canonical:jQuery('#sq_settings').find('input[name=sq_auto_canonical]:checked').val(),sq_auto_sitemap:jQuery('#sq_settings').find('input[name=sq_auto_sitemap]:checked').val(),sq_auto_meta:jQuery('#sq_settings').find('input[name=sq_auto_meta]:checked').val(),sq_auto_favicon:jQuery('#sq_settings').find('input[name=sq_auto_favicon]:checked').val(),sq_auto_facebook:jQuery('#sq_settings').find('input[name=sq_auto_facebook]:checked').val(),sq_auto_twitter:jQuery('#sq_settings').find('input[name=sq_auto_twitter]:checked').val(),sq_twitter_account:jQuery('#sq_settings').find('input[name=sq_twitter_account]').val(),sq_auto_seo:jQuery('#sq_settings').find('input[name=sq_auto_seo]:checked').val(),sq_fp_title:jQuery('#sq_settings').find('input[name=sq_fp_title]').val(),sq_fp_description:jQuery('#sq_settings').find('textarea[name=sq_fp_description]').val(),sq_fp_keywords:jQuery('#sq_settings').find('input[name=sq_fp_keywords]').val(),ignore_warn:jQuery('#sq_settings').find('input[name=ignore_warn]:checked').val(),sq_keyword_help:jQuery('#sq_settings').find('input[name=sq_keyword_help]:checked').val(),sq_keyword_information:jQuery('#sq_settings').find('input[name=sq_keyword_information]:checked').val(),sq_google_country:jQuery('#sq_settings').find('select[name=sq_google_country] option:selected').val(),sq_google_country_strict:jQuery('#sq_settings').find('input[name=sq_google_country_strict]:checked').val(),sq_google_plus:jQuery('#sq_settings').find('input[name=sq_google_plus]').val(),sq_google_wt:jQuery('#sq_settings').find('input[name=sq_google_wt]').val(),sq_google_analytics:jQuery('#sq_settings').find('input[name=sq_google_analytics]').val(),sq_facebook_insights:jQuery('#sq_settings').find('input[name=sq_facebook_insights]').val(),sq_bing_wt:jQuery('#sq_settings').find('input[name=sq_bing_wt]').val(),sq_pinterest:jQuery('#sq_settings').find('input[name=sq_pinterest]').val(),sq_alexa:jQuery('#sq_settings').find('input[name=sq_alexa]').val(),sq_sla:jQuery('#sq_settings').find('input[name=sq_sla]:checked').val(),sq_keywordtag:jQuery('#sq_settings').find('input[name=sq_keywordtag]:checked').val(),sq_local_images:jQuery('#sq_settings').find('input[name=sq_local_images]:checked').val(),nonce:sqQuery.nonce});}
27
+ function sq_getUserStatus(api_url,token){jQuery('#sq_userinfo').addClass('sq_loading');jQuery('#sq_userstatus').addClass('sq_loading');jQuery.getJSON(api_url+'sq/user/status/?callback=?',{token:token,lang:(document.getElementsByTagName("html")[0].getAttribute("lang")||window.navigator.language)}).success(function(response){if(typeof response.error!=='undefined')
28
+ if(response.error==='invalid_token'){jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_reset',nonce:sqQuery.nonce}).success(function(response){if(typeof response.reset!=='undefined')
29
+ if(response.reset==='success')
30
  location.href="?page=sq_howto";});}
31
+ jQuery('#sq_userinfo').removeClass('sq_loading').removeClass('sq_error');jQuery('#sq_userstatus').removeClass('sq_loading').removeClass('sq_error');if(typeof response.info!=='undefined'&&response.info!==''){jQuery('#sq_userinfo').html(response.info);}
32
+ if(typeof response.stats!=='undefined'&&response.stats!==''){jQuery('#sq_userstatus').html(response.stats);}
33
+ if(typeof response.data!=='undefined'&&typeof response.data.user_registered_date!=='undefined'){var currentDate=new Date();var day=currentDate.getDate();if(day.toString().length===1)
34
+ day='0'+day.toString();var month=currentDate.getMonth()+1;if(month.toString().length===1)
35
  month='0'+month.toString();var year=currentDate.getFullYear();var currDate=year+'-'+month+'-'+day;var passed=((new Date(currDate).getTime()-new Date(response.data.user_registered_date).getTime())/(24*60*60*1000));;if(passed<=3&&jQuery('#sq_survey').length>0)
36
+ jQuery('#sq_survey').show();}}).error(function(){jQuery('#sq_userinfo').html('');jQuery('#sq_userstatus').html('');});}
37
+ function sq_recheckRank(post_id){jQuery('.sq_rank_column_button_recheck').hide();jQuery('#sq_rank_value'+post_id).html('').addClass('sq_loading');jQuery.getJSON(sqQuery.ajaxurl,{action:'sq_recheck',post_id:post_id,nonce:sqQuery.nonce}).success(function(response){if(typeof response.rank!=='undefined'){jQuery('#sq_rank_value'+post_id).html(response.rank).removeClass('sq_loading');}else{jQuery('#sq_rank_value'+post_id).html('Error').removeClass('sq_loading');}
38
+ setTimeout(function(){jQuery('.sq_rank_column_button_recheck').show();},10000)}).error(function(){jQuery('#sq_rank_value'+post_id).html('Error').removeClass('sq_loading');jQuery('.sq_rank_column_button_recheck').show();});}
themes/default/js/tinymce.js CHANGED
@@ -1,2 +1,2 @@
1
 
2
- (function(){tinymce.create('tinymce.plugins.Heading',{init:function(ed,url){ed.addButton('heading',{title:'heading.button',image:url+'/../img/heading.png',onclick:function(){if(ed.selection.getContent()!=''){ed.execCommand('mceReplaceContent',false,'<h2>'+ed.selection.getContent()+'</h2>');ed.execCommand('mceCleanup',false);}}});},createControl:function(n,cm){return null;}});tinymce.PluginManager.add('heading',tinymce.plugins.Heading);})();
1
 
2
+ (function(){tinymce.create('tinymce.plugins.Heading',{init:function(ed,url){ed.addButton('heading',{title:'heading.button',image:url+'/../img/heading.png',onclick:function(){if(ed.selection.getContent()!==''){ed.execCommand('mceReplaceContent',false,'<h2>'+ed.selection.getContent()+'</h2>');ed.execCommand('mceCleanup',false);}}});},createControl:function(n,cm){return null;}});tinymce.PluginManager.add('heading',tinymce.plugins.Heading);})();
uninstall.php CHANGED
@@ -3,8 +3,9 @@
3
  /**
4
  * Called on plugin uninstall
5
  */
6
- if (!defined('ABSPATH') && !defined('WP_UNINSTALL_PLUGIN'))
7
  exit();
 
8
 
9
  /* Call config files */
10
  require(dirname(__FILE__) . '/config/config.php');
3
  /**
4
  * Called on plugin uninstall
5
  */
6
+ if (!defined('ABSPATH') && !defined('WP_UNINSTALL_PLUGIN')) {
7
  exit();
8
+ }
9
 
10
  /* Call config files */
11
  require(dirname(__FILE__) . '/config/config.php');