Version Description
- NEW Google Analytics Stats in Dashboard with interactive charts (SEOPress PRO only)
- NEW Add new advices in Notifications center
- NEW Add bulk actions to enable/disable noindex/nofollow/index/follow
- NEW Hide Genesis SEO Metaboxe (in Advanced page, appearance tab)
- INFO You can now reset notifications display settings in Import/Export/Reset page
- INFO Enhanced Google Snippet Preview
- FIX Conflict with AIT Themes
- FIX some undefined notices
- FIX Notice admin_header
Download this release
Release Info
Developer | rainbowgeek |
Plugin | SEOPress |
Version | 1.5 |
Comparing to | |
See all releases |
Code changes from version 1.4 to 1.5
- assets/js/seopress-counters.js +26 -16
- assets/js/seopress-dashboard.js +40 -0
- assets/js/seopress-quick-edit.js +36 -0
- inc/admin/admin-metaboxes.php +26 -4
- inc/admin/admin.php +118 -14
- inc/functions/options-advanced-admin.php +261 -1
- inc/functions/options-import-export.php +17 -0
- languages/wp-seopress-fr_FR.mo +0 -0
- languages/wp-seopress-fr_FR.po +477 -420
- readme.txt +12 -1
- seopress.php +8 -26
- wpgod/composer-temp.phar +0 -0
- wpgod/composer.json +0 -16
- wpgod/composer.phar +0 -0
- wpgod/public/js/send-error.js +0 -8
- wpgod/public/js/send-tracking-general.js +0 -8
- wpgod/src/WPGod/Handler/GodAdminNoticeHandler.php +0 -118
- wpgod/src/WPGod/Handler/GodErrorHandler.php +0 -136
- wpgod/src/WPGod/Handler/GodTrackingHandler.php +0 -101
- wpgod/src/WPGod/Helpers/GodEnvironmentInfo.php +0 -107
- wpgod/src/WPGod/Helpers/GodError.php +0 -73
- wpgod/src/WPGod/Helpers/GodServerInfo.php +0 -101
- wpgod/src/WPGod/Helpers/GodTypeDevelopment.php +0 -21
- wpgod/src/WPGod/Models/GodHandlerInterface.php +0 -34
- wpgod/src/WPGod/Models/HelperInterface.php +0 -14
- wpgod/src/WPGod/Models/HooksInterface.php +0 -25
- wpgod/src/WPGod/Models/ServiceInterface.php +0 -14
- wpgod/src/WPGod/Models/Specification/AbstractSpecification.php +0 -55
- wpgod/src/WPGod/Models/Specification/AndX.php +0 -39
- wpgod/src/WPGod/Models/Specification/ContainsSpecification.php +0 -22
- wpgod/src/WPGod/Models/Specification/EqualsSpecification.php +0 -16
- wpgod/src/WPGod/Models/Specification/NotX.php +0 -36
- wpgod/src/WPGod/Models/Specification/OrX.php +0 -40
- wpgod/src/WPGod/Models/Specification/SpecificationInterface.php +0 -43
- wpgod/src/WPGod/Services/GodAbstractService.php +0 -71
- wpgod/src/WPGod/Services/GodApi.php +0 -148
- wpgod/src/WPGod/Services/GodAuthorizeError.php +0 -69
- wpgod/src/WPGod/Services/GodCheckErrors.php +0 -86
- wpgod/src/WPGod/Services/GodFilesRules.php +0 -154
- wpgod/src/WPGod/WPGod.php +0 -164
- wpgod/vendor/autoload.php +0 -7
- wpgod/vendor/composer/ClassLoader.php +0 -413
- wpgod/vendor/composer/LICENSE +0 -21
- wpgod/vendor/composer/autoload_classmap.php +0 -9
- wpgod/vendor/composer/autoload_namespaces.php +0 -9
- wpgod/vendor/composer/autoload_psr4.php +0 -10
- wpgod/vendor/composer/autoload_real.php +0 -45
assets/js/seopress-counters.js
CHANGED
@@ -1,42 +1,42 @@
|
|
1 |
//Title tag counters / live preview
|
2 |
jQuery(document).ready(function(){
|
3 |
-
|
4 |
jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length);
|
5 |
-
|
6 |
jQuery('#seopress_titles_title_counters').css('color', 'red');
|
7 |
}
|
8 |
jQuery("#seopress_titles_title_meta").keyup(function(event) {
|
9 |
-
|
10 |
-
|
11 |
jQuery('#seopress_titles_title_counters').css('color', 'red');
|
12 |
}
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
jQuery(".snippet-title").css('display', 'none');
|
17 |
jQuery(".snippet-title-custom").css('display', 'block');
|
18 |
jQuery(".snippet-title-default").css('display', 'none');
|
19 |
-
|
20 |
-
|
21 |
jQuery(".snippet-title-custom").css('display', 'none');
|
22 |
jQuery(".snippet-title").css('display', 'none');
|
23 |
-
|
24 |
});
|
25 |
});
|
26 |
|
27 |
//Meta description counters / live preview
|
28 |
jQuery(document).ready(function(){
|
29 |
-
|
30 |
jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length);
|
31 |
-
|
32 |
jQuery('#seopress_titles_desc_counters').css('color', 'red');
|
33 |
}
|
34 |
jQuery("#seopress_titles_desc_meta").keyup(function(event) {
|
35 |
-
|
36 |
-
|
37 |
jQuery('#seopress_titles_desc_counters').css('color', 'red');
|
38 |
}
|
39 |
-
|
40 |
if(jQuery(this).val().length > 0){
|
41 |
jQuery(".snippet-description-custom").text(event.target.value);
|
42 |
jQuery(".snippet-description").css('display', 'none');
|
@@ -48,6 +48,17 @@ jQuery(document).ready(function(){
|
|
48 |
jQuery(".snippet-description").css('display', 'none');
|
49 |
};
|
50 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
});
|
52 |
|
53 |
//Redirections
|
@@ -62,5 +73,4 @@ jQuery(document).ready(function(){
|
|
62 |
jQuery("#seopress_redirections_value_live").css('display', 'none');
|
63 |
};
|
64 |
});
|
65 |
-
|
66 |
});
|
1 |
//Title tag counters / live preview
|
2 |
jQuery(document).ready(function(){
|
3 |
+
jQuery("#seopress_titles_title_counters").after("<div id=\"seopress_titles_title_counters_val\">/ 60</div>");
|
4 |
jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length);
|
5 |
+
if(jQuery('#seopress_titles_title_meta').val().length > 60){
|
6 |
jQuery('#seopress_titles_title_counters').css('color', 'red');
|
7 |
}
|
8 |
jQuery("#seopress_titles_title_meta").keyup(function(event) {
|
9 |
+
jQuery('#seopress_titles_title_counters').css('color', 'inherit');
|
10 |
+
if(jQuery(this).val().length > 60){
|
11 |
jQuery('#seopress_titles_title_counters').css('color', 'red');
|
12 |
}
|
13 |
+
jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length);
|
14 |
+
if(jQuery(this).val().length > 0){
|
15 |
+
jQuery(".snippet-title-custom").text(event.target.value);
|
16 |
jQuery(".snippet-title").css('display', 'none');
|
17 |
jQuery(".snippet-title-custom").css('display', 'block');
|
18 |
jQuery(".snippet-title-default").css('display', 'none');
|
19 |
+
} else if(jQuery(this).val().length == 0) {
|
20 |
+
jQuery(".snippet-title-default").css('display', 'block');
|
21 |
jQuery(".snippet-title-custom").css('display', 'none');
|
22 |
jQuery(".snippet-title").css('display', 'none');
|
23 |
+
};
|
24 |
});
|
25 |
});
|
26 |
|
27 |
//Meta description counters / live preview
|
28 |
jQuery(document).ready(function(){
|
29 |
+
jQuery("#seopress_titles_desc_counters").after("<div id=\"seopress_titles_desc_counters_val\">/ 160</div>");
|
30 |
jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length);
|
31 |
+
if(jQuery('#seopress_titles_desc_meta').val().length > 160){
|
32 |
jQuery('#seopress_titles_desc_counters').css('color', 'red');
|
33 |
}
|
34 |
jQuery("#seopress_titles_desc_meta").keyup(function(event) {
|
35 |
+
jQuery('#seopress_titles_desc_counters').css('color', 'inherit');
|
36 |
+
if(jQuery(this).val().length > 160){
|
37 |
jQuery('#seopress_titles_desc_counters').css('color', 'red');
|
38 |
}
|
39 |
+
jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length);
|
40 |
if(jQuery(this).val().length > 0){
|
41 |
jQuery(".snippet-description-custom").text(event.target.value);
|
42 |
jQuery(".snippet-description").css('display', 'none');
|
48 |
jQuery(".snippet-description").css('display', 'none');
|
49 |
};
|
50 |
});
|
51 |
+
|
52 |
+
jQuery("#excerpt").keyup(function(event) {
|
53 |
+
if(jQuery('#seopress_titles_desc_meta').val().length == 0){
|
54 |
+
if (jQuery(".snippet-description-custom").val().length == 0) {
|
55 |
+
jQuery(".snippet-description-custom").text(event.target.value);
|
56 |
+
jQuery(".snippet-description").css('display', 'none');
|
57 |
+
jQuery(".snippet-description-custom").css('display', 'inline');
|
58 |
+
jQuery(".snippet-description-default").css('display', 'none');
|
59 |
+
}
|
60 |
+
}
|
61 |
+
});
|
62 |
});
|
63 |
|
64 |
//Redirections
|
73 |
jQuery("#seopress_redirections_value_live").css('display', 'none');
|
74 |
};
|
75 |
});
|
|
|
76 |
});
|
assets/js/seopress-dashboard.js
CHANGED
@@ -1,5 +1,45 @@
|
|
1 |
jQuery(document).ready(function(){
|
2 |
//Hide notices
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
//**Search Console
|
4 |
jQuery('#notice-search-console').on('click', function() {
|
5 |
jQuery('#notice-search-console').attr('data-notice', jQuery('#notice-search-console').attr('data-notice') == '1' ? '0' : '1');
|
1 |
jQuery(document).ready(function(){
|
2 |
//Hide notices
|
3 |
+
//**Divide comments
|
4 |
+
jQuery('#notice-divide-comments').on('click', function() {
|
5 |
+
jQuery('#notice-divide-comments').attr('data-notice', jQuery('#notice-divide-comments').attr('data-notice') == '1' ? '0' : '1');
|
6 |
+
jQuery.ajax({
|
7 |
+
method : 'POST',
|
8 |
+
url : seopressAjaxHideNotices.seopress_hide_notices,
|
9 |
+
_ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
|
10 |
+
data : {
|
11 |
+
action: 'seopress_hide_notices',
|
12 |
+
notice: 'notice-divide-comments',
|
13 |
+
notice_value: jQuery('#notice-divide-comments').attr('data-notice'),
|
14 |
+
},
|
15 |
+
success : function( data ) {
|
16 |
+
jQuery( '#seopress-notice-save' ).css('display', 'block');
|
17 |
+
jQuery( '#seopress-notice-save .html' ).html('Notice successfully removed');
|
18 |
+
jQuery( '#notice-divide-comments-alert' ).fadeOut();
|
19 |
+
jQuery( '#seopress-notice-save' ).delay(3500).fadeOut();
|
20 |
+
},
|
21 |
+
});
|
22 |
+
});
|
23 |
+
//**RSS full text
|
24 |
+
jQuery('#notice-rss-use-excerpt').on('click', function() {
|
25 |
+
jQuery('#notice-rss-use-excerpt').attr('data-notice', jQuery('#notice-rss-use-excerpt').attr('data-notice') == '1' ? '0' : '1');
|
26 |
+
jQuery.ajax({
|
27 |
+
method : 'POST',
|
28 |
+
url : seopressAjaxHideNotices.seopress_hide_notices,
|
29 |
+
_ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
|
30 |
+
data : {
|
31 |
+
action: 'seopress_hide_notices',
|
32 |
+
notice: 'notice-rss-use-excerpt',
|
33 |
+
notice_value: jQuery('#notice-rss-use-excerpt').attr('data-notice'),
|
34 |
+
},
|
35 |
+
success : function( data ) {
|
36 |
+
jQuery( '#seopress-notice-save' ).css('display', 'block');
|
37 |
+
jQuery( '#seopress-notice-save .html' ).html('Notice successfully removed');
|
38 |
+
jQuery( '#notice-rss-use-excerpt-alert' ).fadeOut();
|
39 |
+
jQuery( '#seopress-notice-save' ).delay(3500).fadeOut();
|
40 |
+
},
|
41 |
+
});
|
42 |
+
});
|
43 |
//**Search Console
|
44 |
jQuery('#notice-search-console').on('click', function() {
|
45 |
jQuery('#notice-search-console').attr('data-notice', jQuery('#notice-search-console').attr('data-notice') == '1' ? '0' : '1');
|
assets/js/seopress-quick-edit.js
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function($) {
|
2 |
+
|
3 |
+
// we create a copy of the WP inline edit post function
|
4 |
+
var $wp_inline_edit = inlineEditPost.edit;
|
5 |
+
|
6 |
+
// and then we overwrite the function with our own code
|
7 |
+
inlineEditPost.edit = function( id ) {
|
8 |
+
|
9 |
+
// "call" the original WP edit function
|
10 |
+
// we don't want to leave WordPress hanging
|
11 |
+
$wp_inline_edit.apply( this, arguments );
|
12 |
+
|
13 |
+
// now we take care of our business
|
14 |
+
|
15 |
+
// get the post ID
|
16 |
+
var $post_id = 0;
|
17 |
+
if ( typeof( id ) == 'object' ) {
|
18 |
+
$post_id = parseInt( this.getId( id ) );
|
19 |
+
}
|
20 |
+
|
21 |
+
if ( $post_id > 0 ) {
|
22 |
+
// define the edit row
|
23 |
+
var $edit_row = $( '#edit-' + $post_id );
|
24 |
+
var $post_row = $( '#post-' + $post_id );
|
25 |
+
|
26 |
+
// get the data
|
27 |
+
var $seopress_title = $( '.column-seopress_title', $post_row ).text();
|
28 |
+
var $seopress_desc = $( '.column-seopress_desc', $post_row ).text();
|
29 |
+
|
30 |
+
// populate the data
|
31 |
+
$( ':input[name="seopress_title"]', $edit_row ).val( $seopress_title );
|
32 |
+
$( ':input[name="seopress_desc"]', $edit_row ).val( $seopress_desc );
|
33 |
+
}
|
34 |
+
};
|
35 |
+
|
36 |
+
})(jQuery);
|
inc/admin/admin-metaboxes.php
CHANGED
@@ -44,13 +44,35 @@ function seopress_cpt($post){
|
|
44 |
return get_the_title().' - '.get_bloginfo('name');
|
45 |
}
|
46 |
}
|
47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
function seopress_titles_desc($seopress_titles_desc) {
|
49 |
if ($seopress_titles_desc !='') {
|
50 |
return $seopress_titles_desc;
|
51 |
} else {
|
52 |
global $post;
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
}
|
56 |
|
@@ -126,8 +148,8 @@ function seopress_cpt($post){
|
|
126 |
echo seopress_display_date_snippet();
|
127 |
echo '<div class="snippet-description">'.seopress_titles_desc($seopress_titles_desc).'...</div>
|
128 |
<div class="snippet-description-custom" style="display:none"></div>
|
129 |
-
<div class="snippet-description-default" style="display:none">'.
|
130 |
-
|
131 |
</div>
|
132 |
</div>
|
133 |
<div id="tabs-2">
|
44 |
return get_the_title().' - '.get_bloginfo('name');
|
45 |
}
|
46 |
}
|
47 |
+
|
48 |
+
function seopress_titles_single_desc_option() {
|
49 |
+
global $post;
|
50 |
+
$seopress_get_current_cpt = get_post_type($post);
|
51 |
+
|
52 |
+
$seopress_titles_single_desc_option = get_option("seopress_titles_option_name");
|
53 |
+
if ( ! empty ( $seopress_titles_single_desc_option ) ) {
|
54 |
+
foreach ($seopress_titles_single_desc_option as $key => $seopress_titles_single_desc_value)
|
55 |
+
$options[$key] = $seopress_titles_single_desc_value;
|
56 |
+
if (isset($seopress_titles_single_desc_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['description'])) {
|
57 |
+
return $seopress_titles_single_desc_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['description'];
|
58 |
+
}
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
function seopress_titles_desc($seopress_titles_desc) {
|
63 |
if ($seopress_titles_desc !='') {
|
64 |
return $seopress_titles_desc;
|
65 |
} else {
|
66 |
global $post;
|
67 |
+
if (seopress_titles_single_desc_option() !='') {
|
68 |
+
return seopress_titles_single_desc_option();
|
69 |
+
} elseif ( has_excerpt( $post->ID ) ) {
|
70 |
+
// This post has excerpt
|
71 |
+
return substr(wp_strip_all_tags($post->post_excerpt, true), 0, 160);
|
72 |
+
} else {
|
73 |
+
// This post has no excerpt
|
74 |
+
return substr(wp_strip_all_tags($post->post_content, true), 0, 160);
|
75 |
+
}
|
76 |
}
|
77 |
}
|
78 |
|
148 |
echo seopress_display_date_snippet();
|
149 |
echo '<div class="snippet-description">'.seopress_titles_desc($seopress_titles_desc).'...</div>
|
150 |
<div class="snippet-description-custom" style="display:none"></div>
|
151 |
+
<div class="snippet-description-default" style="display:none">'.seopress_titles_desc($seopress_titles_desc).'</div>';
|
152 |
+
echo '</div>
|
153 |
</div>
|
154 |
</div>
|
155 |
<div id="tabs-2">
|
inc/admin/admin.php
CHANGED
@@ -157,7 +157,6 @@ class seopress_options
|
|
157 |
$seopress_advanced_option_name = get_option('seopress_advanced_option_name');
|
158 |
|
159 |
$seopress_advanced_option_name['seopress_advanced_advanced_attachments'] = '1';
|
160 |
-
$seopress_advanced_option_name['seopress_advanced_advanced_stop_words'] = '1';
|
161 |
$seopress_advanced_option_name['seopress_advanced_appearance_title_col'] = '1';
|
162 |
$seopress_advanced_option_name['seopress_advanced_appearance_meta_desc_col'] = '1';
|
163 |
|
@@ -213,7 +212,7 @@ class seopress_options
|
|
213 |
|
214 |
function seopress_titles_page(){
|
215 |
$this->options = get_option( 'seopress_titles_option_name' );
|
216 |
-
if (function_exists(seopress_admin_header)) {
|
217 |
echo seopress_admin_header();
|
218 |
}
|
219 |
?>
|
@@ -263,7 +262,7 @@ class seopress_options
|
|
263 |
|
264 |
function seopress_xml_sitemap_page(){
|
265 |
$this->options = get_option( 'seopress_xml_sitemap_option_name' );
|
266 |
-
if (function_exists(seopress_admin_header)) {
|
267 |
echo seopress_admin_header();
|
268 |
}
|
269 |
?>
|
@@ -304,7 +303,7 @@ class seopress_options
|
|
304 |
|
305 |
function seopress_social_page(){
|
306 |
$this->options = get_option( 'seopress_social_option_name' );
|
307 |
-
if (function_exists(seopress_admin_header)) {
|
308 |
echo seopress_admin_header();
|
309 |
}
|
310 |
?>
|
@@ -346,7 +345,7 @@ class seopress_options
|
|
346 |
|
347 |
function seopress_google_analytics_page(){
|
348 |
$this->options = get_option( 'seopress_google_analytics_option_name' );
|
349 |
-
if (function_exists(seopress_admin_header)) {
|
350 |
echo seopress_admin_header();
|
351 |
}
|
352 |
?>
|
@@ -360,13 +359,22 @@ class seopress_options
|
|
360 |
?>
|
361 |
|
362 |
<div id="seopress-tabs" class="wrap">
|
363 |
-
<?php
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
370 |
|
371 |
echo '<h2 class="nav-tab-wrapper">';
|
372 |
foreach ( $plugin_settings_tabs as $tab_key => $tab_caption ) {
|
@@ -377,6 +385,9 @@ class seopress_options
|
|
377 |
<div class="seopress-tab <?php if ($current_tab == 'tab_seopress_google_analytics_enable') { echo 'active'; } ?>" id="tab_seopress_google_analytics_enable"><?php do_settings_sections( 'seopress-settings-admin-google-analytics-enable' ); ?></div>
|
378 |
<div class="seopress-tab <?php if ($current_tab == 'tab_seopress_google_analytics_features') { echo 'active'; } ?>" id="tab_seopress_google_analytics_features"><?php do_settings_sections( 'seopress-settings-admin-google-analytics-features' ); ?></div>
|
379 |
<div class="seopress-tab <?php if ($current_tab == 'tab_seopress_google_analytics_custom_dimensions') { echo 'active'; } ?>" id="tab_seopress_google_analytics_custom_dimensions"><?php do_settings_sections( 'seopress-settings-admin-google-analytics-custom-dimensions' ); ?></div>
|
|
|
|
|
|
|
380 |
</div>
|
381 |
|
382 |
<?php submit_button(); ?>
|
@@ -386,7 +397,7 @@ class seopress_options
|
|
386 |
|
387 |
function seopress_advanced_page(){
|
388 |
$this->options = get_option( 'seopress_advanced_option_name' );
|
389 |
-
if (function_exists(seopress_admin_header)) {
|
390 |
echo seopress_admin_header();
|
391 |
}
|
392 |
?>
|
@@ -425,7 +436,7 @@ class seopress_options
|
|
425 |
|
426 |
function seopress_import_export_page(){
|
427 |
$this->options = get_option( 'seopress_import_export_option_name' );
|
428 |
-
if (function_exists(seopress_admin_header)) {
|
429 |
echo seopress_admin_header();
|
430 |
}
|
431 |
?>
|
@@ -485,6 +496,20 @@ class seopress_options
|
|
485 |
</div><!-- .inside -->
|
486 |
</div><!-- .postbox -->
|
487 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
488 |
<div class="postbox">
|
489 |
<h3><span><?php _e( 'Reset All Settings', 'wp-seopress' ); ?></span></h3>
|
490 |
<div class="inside">
|
@@ -598,6 +623,60 @@ class seopress_options
|
|
598 |
<a class="button-primary" href="<?php echo admin_url( 'options-permalink.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
|
599 |
</div>
|
600 |
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
601 |
<?php if (seopress_xml_sitemap_general_enable_option() !='1') { ?>
|
602 |
<div class="seopress-alert">
|
603 |
<p>
|
@@ -1905,6 +1984,14 @@ class seopress_options
|
|
1905 |
'seopress-settings-admin-advanced-appearance', // Page
|
1906 |
'seopress_setting_section_advanced_appearance' // Section
|
1907 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1908 |
}
|
1909 |
|
1910 |
/**
|
@@ -3834,6 +3921,23 @@ class seopress_options
|
|
3834 |
if (isset($this->options['seopress_advanced_appearance_nofollow_col'])) {
|
3835 |
esc_attr( $this->options['seopress_advanced_appearance_nofollow_col']);
|
3836 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3837 |
}
|
3838 |
}
|
3839 |
|
157 |
$seopress_advanced_option_name = get_option('seopress_advanced_option_name');
|
158 |
|
159 |
$seopress_advanced_option_name['seopress_advanced_advanced_attachments'] = '1';
|
|
|
160 |
$seopress_advanced_option_name['seopress_advanced_appearance_title_col'] = '1';
|
161 |
$seopress_advanced_option_name['seopress_advanced_appearance_meta_desc_col'] = '1';
|
162 |
|
212 |
|
213 |
function seopress_titles_page(){
|
214 |
$this->options = get_option( 'seopress_titles_option_name' );
|
215 |
+
if (function_exists('seopress_admin_header')) {
|
216 |
echo seopress_admin_header();
|
217 |
}
|
218 |
?>
|
262 |
|
263 |
function seopress_xml_sitemap_page(){
|
264 |
$this->options = get_option( 'seopress_xml_sitemap_option_name' );
|
265 |
+
if (function_exists('seopress_admin_header')) {
|
266 |
echo seopress_admin_header();
|
267 |
}
|
268 |
?>
|
303 |
|
304 |
function seopress_social_page(){
|
305 |
$this->options = get_option( 'seopress_social_option_name' );
|
306 |
+
if (function_exists('seopress_admin_header')) {
|
307 |
echo seopress_admin_header();
|
308 |
}
|
309 |
?>
|
345 |
|
346 |
function seopress_google_analytics_page(){
|
347 |
$this->options = get_option( 'seopress_google_analytics_option_name' );
|
348 |
+
if (function_exists('seopress_admin_header')) {
|
349 |
echo seopress_admin_header();
|
350 |
}
|
351 |
?>
|
359 |
?>
|
360 |
|
361 |
<div id="seopress-tabs" class="wrap">
|
362 |
+
<?php
|
363 |
+
|
364 |
+
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
365 |
+
$plugin_settings_tabs = array(
|
366 |
+
'tab_seopress_google_analytics_enable' => __( "General", "wp-seopress" ),
|
367 |
+
'tab_seopress_google_analytics_features' => __( "Tracking", "wp-seopress" ),
|
368 |
+
'tab_seopress_google_analytics_custom_dimensions' => __( "Custom Dimensions", "wp-seopress" ),
|
369 |
+
'tab_seopress_google_analytics_dashboard' => __( "Stats in Dashboard", "wp-seopress" ),
|
370 |
+
);
|
371 |
+
} else {
|
372 |
+
$plugin_settings_tabs = array(
|
373 |
+
'tab_seopress_google_analytics_enable' => __( "General", "wp-seopress" ),
|
374 |
+
'tab_seopress_google_analytics_features' => __( "Tracking", "wp-seopress" ),
|
375 |
+
'tab_seopress_google_analytics_custom_dimensions' => __( "Custom Dimensions", "wp-seopress" ),
|
376 |
+
);
|
377 |
+
}
|
378 |
|
379 |
echo '<h2 class="nav-tab-wrapper">';
|
380 |
foreach ( $plugin_settings_tabs as $tab_key => $tab_caption ) {
|
385 |
<div class="seopress-tab <?php if ($current_tab == 'tab_seopress_google_analytics_enable') { echo 'active'; } ?>" id="tab_seopress_google_analytics_enable"><?php do_settings_sections( 'seopress-settings-admin-google-analytics-enable' ); ?></div>
|
386 |
<div class="seopress-tab <?php if ($current_tab == 'tab_seopress_google_analytics_features') { echo 'active'; } ?>" id="tab_seopress_google_analytics_features"><?php do_settings_sections( 'seopress-settings-admin-google-analytics-features' ); ?></div>
|
387 |
<div class="seopress-tab <?php if ($current_tab == 'tab_seopress_google_analytics_custom_dimensions') { echo 'active'; } ?>" id="tab_seopress_google_analytics_custom_dimensions"><?php do_settings_sections( 'seopress-settings-admin-google-analytics-custom-dimensions' ); ?></div>
|
388 |
+
<?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
|
389 |
+
<div class="seopress-tab <?php if ($current_tab == 'tab_seopress_google_analytics_dashboard') { echo 'active'; } ?>" id="tab_seopress_google_analytics_dashboard"><?php do_settings_sections( 'seopress-settings-admin-google-analytics-dashboard' ); ?></div>
|
390 |
+
<?php } ?>
|
391 |
</div>
|
392 |
|
393 |
<?php submit_button(); ?>
|
397 |
|
398 |
function seopress_advanced_page(){
|
399 |
$this->options = get_option( 'seopress_advanced_option_name' );
|
400 |
+
if (function_exists('seopress_admin_header')) {
|
401 |
echo seopress_admin_header();
|
402 |
}
|
403 |
?>
|
436 |
|
437 |
function seopress_import_export_page(){
|
438 |
$this->options = get_option( 'seopress_import_export_option_name' );
|
439 |
+
if (function_exists('seopress_admin_header')) {
|
440 |
echo seopress_admin_header();
|
441 |
}
|
442 |
?>
|
496 |
</div><!-- .inside -->
|
497 |
</div><!-- .postbox -->
|
498 |
|
499 |
+
<div class="postbox">
|
500 |
+
<h3><span><?php _e( 'Reset All Notices From Notifications Center', 'wp-seopress' ); ?></span></h3>
|
501 |
+
<div class="inside">
|
502 |
+
<p><?php _e( 'By clicking Reset Notices, you\'ll see all notices again in notifications center.', 'wp-seopress' ); ?></p>
|
503 |
+
<form method="post" enctype="multipart/form-data">
|
504 |
+
<p>
|
505 |
+
<input type="hidden" name="seopress_action" value="reset_notices_settings" />
|
506 |
+
<?php wp_nonce_field( 'seopress_reset_notices_nonce', 'seopress_reset_notices_nonce' ); ?>
|
507 |
+
<?php submit_button( __( 'Reset notices', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
|
508 |
+
</p>
|
509 |
+
</form>
|
510 |
+
</div><!-- .inside -->
|
511 |
+
</div><!-- .postbox -->
|
512 |
+
|
513 |
<div class="postbox">
|
514 |
<h3><span><?php _e( 'Reset All Settings', 'wp-seopress' ); ?></span></h3>
|
515 |
<div class="inside">
|
623 |
<a class="button-primary" href="<?php echo admin_url( 'options-permalink.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
|
624 |
</div>
|
625 |
<?php } ?>
|
626 |
+
<?php
|
627 |
+
if(get_option('rss_use_excerpt') =='0') {
|
628 |
+
function seopress_get_hidden_notices_rss_use_excerpt_option() {
|
629 |
+
$seopress_get_hidden_notices_rss_use_excerpt_option = get_option("seopress_notices");
|
630 |
+
if ( ! empty ( $seopress_get_hidden_notices_rss_use_excerpt_option ) ) {
|
631 |
+
foreach ($seopress_get_hidden_notices_rss_use_excerpt_option as $key => $seopress_get_hidden_notices_rss_use_excerpt_value)
|
632 |
+
$options[$key] = $seopress_get_hidden_notices_rss_use_excerpt_value;
|
633 |
+
if (isset($seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'])) {
|
634 |
+
return $seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'];
|
635 |
+
}
|
636 |
+
}
|
637 |
+
}
|
638 |
+
if(seopress_get_hidden_notices_rss_use_excerpt_option() =='1') {
|
639 |
+
//do nothing
|
640 |
+
} else { ?>
|
641 |
+
<div id="notice-rss-use-excerpt-alert" class="seopress-alert deleteable">
|
642 |
+
<p>
|
643 |
+
<span class="dashicons dashicons-warning"></span>
|
644 |
+
<?php _e('You RSS feed show full text!','wp-seopress'); ?>
|
645 |
+
<span class="impact medium"><?php _e('Medium impact','wp-seopress'); ?></span>
|
646 |
+
</p>
|
647 |
+
<a class="button-primary" href="<?php echo admin_url( 'options-reading.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
|
648 |
+
<span name="notice-rss-use-excerpt" id="notice-rss-use-excerpt" class="dashicons dashicons-trash remove-notice" data-notice="notice-rss-use-excerpt"></span>
|
649 |
+
</div>
|
650 |
+
<?php }
|
651 |
+
}
|
652 |
+
?>
|
653 |
+
<?php
|
654 |
+
if(get_option('page_comments') =='1') {
|
655 |
+
function seopress_get_hidden_notices_divide_comments_option() {
|
656 |
+
$seopress_get_hidden_notices_divide_comments_option = get_option("seopress_notices");
|
657 |
+
if ( ! empty ( $seopress_get_hidden_notices_divide_comments_option ) ) {
|
658 |
+
foreach ($seopress_get_hidden_notices_divide_comments_option as $key => $seopress_get_hidden_notices_divide_comments_value)
|
659 |
+
$options[$key] = $seopress_get_hidden_notices_divide_comments_value;
|
660 |
+
if (isset($seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'])) {
|
661 |
+
return $seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'];
|
662 |
+
}
|
663 |
+
}
|
664 |
+
}
|
665 |
+
if(seopress_get_hidden_notices_divide_comments_option() =='1') {
|
666 |
+
//do nothing
|
667 |
+
} else { ?>
|
668 |
+
<div id="notice-divide-comments-alert" class="seopress-alert deleteable">
|
669 |
+
<p>
|
670 |
+
<span class="dashicons dashicons-warning"></span>
|
671 |
+
<?php _e('Break comments into pages is ON!','wp-seopress'); ?>
|
672 |
+
<span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
|
673 |
+
</p>
|
674 |
+
<a class="button-primary" href="<?php echo admin_url( 'options-discussion.php' ); ?>"><?php _e('Disable this!','wp-seopress'); ?></a>
|
675 |
+
<span name="notice-divide-comments" id="notice-divide-comments" class="dashicons dashicons-trash remove-notice" data-notice="notice-divide-comments"></span>
|
676 |
+
</div>
|
677 |
+
<?php }
|
678 |
+
}
|
679 |
+
?>
|
680 |
<?php if (seopress_xml_sitemap_general_enable_option() !='1') { ?>
|
681 |
<div class="seopress-alert">
|
682 |
<p>
|
1984 |
'seopress-settings-admin-advanced-appearance', // Page
|
1985 |
'seopress_setting_section_advanced_appearance' // Section
|
1986 |
);
|
1987 |
+
|
1988 |
+
add_settings_field(
|
1989 |
+
'seopress_advanced_appearance_genesis_seo_metaboxe', // ID
|
1990 |
+
__("Hide Genesis SEO Metaboxe","wp-seopress"), // Title
|
1991 |
+
array( $this, 'seopress_advanced_appearance_genesis_seo_metaboxe_callback' ), // Callback
|
1992 |
+
'seopress-settings-admin-advanced-appearance', // Page
|
1993 |
+
'seopress_setting_section_advanced_appearance' // Section
|
1994 |
+
);
|
1995 |
}
|
1996 |
|
1997 |
/**
|
3921 |
if (isset($this->options['seopress_advanced_appearance_nofollow_col'])) {
|
3922 |
esc_attr( $this->options['seopress_advanced_appearance_nofollow_col']);
|
3923 |
}
|
3924 |
+
}
|
3925 |
+
|
3926 |
+
public function seopress_advanced_appearance_genesis_seo_metaboxe_callback()
|
3927 |
+
{
|
3928 |
+
$options = get_option( 'seopress_advanced_option_name' );
|
3929 |
+
|
3930 |
+
$check = isset($options['seopress_advanced_appearance_genesis_seo_metaboxe']);
|
3931 |
+
|
3932 |
+
echo '<input id="seopress_advanced_appearance_genesis_seo_metaboxe" name="seopress_advanced_option_name[seopress_advanced_appearance_genesis_seo_metaboxe]" type="checkbox"';
|
3933 |
+
if ('1' == $check) echo 'checked="yes"';
|
3934 |
+
echo ' value="1"/>';
|
3935 |
+
|
3936 |
+
echo '<label for="seopress_advanced_appearance_genesis_seo_metaboxe">'. __( 'Remove Genesis SEO Metaboxe', 'wp-seopress' ) .'</label>';
|
3937 |
+
|
3938 |
+
if (isset($this->options['seopress_advanced_appearance_genesis_seo_metaboxe'])) {
|
3939 |
+
esc_attr( $this->options['seopress_advanced_appearance_genesis_seo_metaboxe']);
|
3940 |
+
}
|
3941 |
}
|
3942 |
}
|
3943 |
|
inc/functions/options-advanced-admin.php
CHANGED
@@ -108,6 +108,48 @@ if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_ap
|
|
108 |
}
|
109 |
}
|
110 |
add_action('admin_menu', 'seopress_add_columns', 999);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
}
|
112 |
|
113 |
//Stop words
|
@@ -125,7 +167,7 @@ function seopress_advanced_advanced_stop_words_option() {
|
|
125 |
if (seopress_advanced_advanced_stop_words_option() !='') {
|
126 |
global $pagenow;
|
127 |
if ( $pagenow == 'post-new.php' || $pagenow == 'post.php') {
|
128 |
-
|
129 |
function seopress_advanced_advanced_stop_words_hook($slug) {
|
130 |
|
131 |
$stop_words_list_en = 'a,about,above,after,again,against,all,am,an,and,any,are,aren\'t,as,at,be,because,been,before,being,below,between,both,but,by,can\'t,cannot,could,couldn\'t,did,didn\'t,do,does,doesn\'t,doing,don\'t,down,during,each,few,for,from,further,had,hadn\'t,has,hasn\'t,have,haven\'t,having,he,he\'d,he\'ll,he\'s,her,here,here\'s,hers,herself,him,himself,his,how,how\'s,i,i\'d,,i\'ll,i\'m,i\'ve,if,in,into,is,isn\'t,it,it\'s,its,itself,let\'s,me,more,most,mustn\'t,my,myself,no,nor,not,of,off,on,once,only,or,other,ought,our,ours,ourselves,out,over,own,same,shan\'t,she,she\'d,she\'ll,she\'s,should,shouldn\'t,so,some,such,than,that,that\'s,the,their,theirs,them,themselves,then,there,there\'s,these,they,they\'d,they\'ll,they\'re,they\'ve,this,those,through,to,too,under,until,up,very,was,wasn\'t,we,we\'d,we\'ll,we\'re,we\'ve,were,weren\'t,what,what\'s,when,when\'s,where,where\'s,which,while,who,who\'s,whom,why,why\'s,with,won\'t,would,wouldn\'t,you,you\'d,you\'ll,you\'re,you\'ve,your,yours,yourself,yourselves';
|
@@ -237,3 +279,221 @@ if (seopress_advanced_advanced_stop_words_option() !='') {
|
|
237 |
add_filter('sanitize_title', 'seopress_advanced_advanced_stop_words_hook');
|
238 |
}
|
239 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
109 |
}
|
110 |
add_action('admin_menu', 'seopress_add_columns', 999);
|
111 |
+
|
112 |
+
//Sortable columns
|
113 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
114 |
+
add_filter( 'manage_edit-'.$key.'_sortable_columns' , 'wnetpp_admin_sortable_columns' );
|
115 |
+
}
|
116 |
+
|
117 |
+
function wnetpp_admin_sortable_columns($columns) {
|
118 |
+
$columns['seopress_noindex'] = 'seopress_noindex';
|
119 |
+
return $columns;
|
120 |
+
}
|
121 |
+
|
122 |
+
add_filter( 'pre_get_posts', 'wnetpp_admin_sort_columns_by');
|
123 |
+
function wnetpp_admin_sort_columns_by( $query ) {
|
124 |
+
if( ! is_admin() ) {
|
125 |
+
return;
|
126 |
+
} else {
|
127 |
+
$orderby = $query->get('orderby');
|
128 |
+
if( 'seopress_noindex' == $orderby ) {
|
129 |
+
$query->set('meta_key', '_seopress_robots_index');
|
130 |
+
$query->set('orderby','meta_value');
|
131 |
+
}
|
132 |
+
}
|
133 |
+
}
|
134 |
+
}
|
135 |
+
|
136 |
+
//Remove Genesis SEO Metaboxe
|
137 |
+
function seopress_advanced_appearance_genesis_seo_metaboxe_hook_option() {
|
138 |
+
$seopress_advanced_appearance_genesis_seo_metaboxe_hook_option = get_option("seopress_advanced_option_name");
|
139 |
+
if ( ! empty ( $seopress_advanced_appearance_genesis_seo_metaboxe_hook_option ) ) {
|
140 |
+
foreach ($seopress_advanced_appearance_genesis_seo_metaboxe_hook_option as $key => $seopress_advanced_appearance_genesis_seo_metaboxe_hook_value)
|
141 |
+
$options[$key] = $seopress_advanced_appearance_genesis_seo_metaboxe_hook_value;
|
142 |
+
if (isset($seopress_advanced_appearance_genesis_seo_metaboxe_hook_option['seopress_advanced_appearance_genesis_seo_metaboxe'])) {
|
143 |
+
return $seopress_advanced_appearance_genesis_seo_metaboxe_hook_option['seopress_advanced_appearance_genesis_seo_metaboxe'];
|
144 |
+
}
|
145 |
+
}
|
146 |
+
}
|
147 |
+
|
148 |
+
if (seopress_advanced_appearance_genesis_seo_metaboxe_hook_option() !='') {
|
149 |
+
function seopress_advanced_appearance_genesis_seo_metaboxe_hook() {
|
150 |
+
remove_action( 'admin_menu', 'genesis_add_inpost_seo_box' );
|
151 |
+
}
|
152 |
+
add_action('init', 'seopress_advanced_appearance_genesis_seo_metaboxe_hook', 999);
|
153 |
}
|
154 |
|
155 |
//Stop words
|
167 |
if (seopress_advanced_advanced_stop_words_option() !='') {
|
168 |
global $pagenow;
|
169 |
if ( $pagenow == 'post-new.php' || $pagenow == 'post.php') {
|
170 |
+
|
171 |
function seopress_advanced_advanced_stop_words_hook($slug) {
|
172 |
|
173 |
$stop_words_list_en = 'a,about,above,after,again,against,all,am,an,and,any,are,aren\'t,as,at,be,because,been,before,being,below,between,both,but,by,can\'t,cannot,could,couldn\'t,did,didn\'t,do,does,doesn\'t,doing,don\'t,down,during,each,few,for,from,further,had,hadn\'t,has,hasn\'t,have,haven\'t,having,he,he\'d,he\'ll,he\'s,her,here,here\'s,hers,herself,him,himself,his,how,how\'s,i,i\'d,,i\'ll,i\'m,i\'ve,if,in,into,is,isn\'t,it,it\'s,its,itself,let\'s,me,more,most,mustn\'t,my,myself,no,nor,not,of,off,on,once,only,or,other,ought,our,ours,ourselves,out,over,own,same,shan\'t,she,she\'d,she\'ll,she\'s,should,shouldn\'t,so,some,such,than,that,that\'s,the,their,theirs,them,themselves,then,there,there\'s,these,they,they\'d,they\'ll,they\'re,they\'ve,this,those,through,to,too,under,until,up,very,was,wasn\'t,we,we\'d,we\'ll,we\'re,we\'ve,were,weren\'t,what,what\'s,when,when\'s,where,where\'s,which,while,who,who\'s,whom,why,why\'s,with,won\'t,would,wouldn\'t,you,you\'d,you\'ll,you\'re,you\'ve,your,yours,yourself,yourselves';
|
279 |
add_filter('sanitize_title', 'seopress_advanced_advanced_stop_words_hook');
|
280 |
}
|
281 |
}
|
282 |
+
|
283 |
+
//Bulk actions
|
284 |
+
//noindex
|
285 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
286 |
+
add_filter( 'bulk_actions-edit-'.$key, 'seopress_bulk_actions_noindex' );
|
287 |
+
}
|
288 |
+
|
289 |
+
function seopress_bulk_actions_noindex($bulk_actions) {
|
290 |
+
$bulk_actions['seopress_noindex'] = __( 'Enable noindex', 'wp-seopress');
|
291 |
+
return $bulk_actions;
|
292 |
+
}
|
293 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
294 |
+
add_filter( 'handle_bulk_actions-edit-'.$key, 'seopress_bulk_action_noindex_handler', 10, 3 );
|
295 |
+
}
|
296 |
+
|
297 |
+
function seopress_bulk_action_noindex_handler( $redirect_to, $doaction, $post_ids ) {
|
298 |
+
if ( $doaction !== 'seopress_noindex' ) {
|
299 |
+
return $redirect_to;
|
300 |
+
}
|
301 |
+
foreach ( $post_ids as $post_id ) {
|
302 |
+
// Perform action for each post.
|
303 |
+
update_post_meta( $post_id, '_seopress_robots_index', 'yes' );
|
304 |
+
}
|
305 |
+
$redirect_to = add_query_arg( 'bulk_noindex_posts', count( $post_ids ), $redirect_to );
|
306 |
+
return $redirect_to;
|
307 |
+
}
|
308 |
+
|
309 |
+
add_action( 'admin_notices', 'seopress_bulk_action_noindex_admin_notice' );
|
310 |
+
|
311 |
+
function seopress_bulk_action_noindex_admin_notice() {
|
312 |
+
if ( ! empty( $_REQUEST['bulk_noindex_posts'] ) ) {
|
313 |
+
$noindex_count = intval( $_REQUEST['bulk_noindex_posts'] );
|
314 |
+
printf( '<div id="message" class="updated fade"><p>' .
|
315 |
+
_n( '%s post to noindex.',
|
316 |
+
'%s posts to noindex.',
|
317 |
+
$noindex_count,
|
318 |
+
'wp-seopress'
|
319 |
+
) . '</p></div>', $noindex_count );
|
320 |
+
}
|
321 |
+
}
|
322 |
+
|
323 |
+
//index
|
324 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
325 |
+
add_filter( 'bulk_actions-edit-'.$key, 'seopress_bulk_actions_index' );
|
326 |
+
}
|
327 |
+
|
328 |
+
function seopress_bulk_actions_index($bulk_actions) {
|
329 |
+
$bulk_actions['seopress_index'] = __( 'Enable index', 'wp-seopress');
|
330 |
+
return $bulk_actions;
|
331 |
+
}
|
332 |
+
|
333 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
334 |
+
add_filter( 'handle_bulk_actions-edit-'.$key, 'seopress_bulk_action_index_handler', 10, 3 );
|
335 |
+
}
|
336 |
+
|
337 |
+
function seopress_bulk_action_index_handler( $redirect_to, $doaction, $post_ids ) {
|
338 |
+
if ( $doaction !== 'seopress_index' ) {
|
339 |
+
return $redirect_to;
|
340 |
+
}
|
341 |
+
foreach ( $post_ids as $post_id ) {
|
342 |
+
// Perform action for each post.
|
343 |
+
delete_post_meta( $post_id, '_seopress_robots_index', '' );
|
344 |
+
}
|
345 |
+
$redirect_to = add_query_arg( 'bulk_index_posts', count( $post_ids ), $redirect_to );
|
346 |
+
return $redirect_to;
|
347 |
+
}
|
348 |
+
|
349 |
+
add_action( 'admin_notices', 'seopress_bulk_action_index_admin_notice' );
|
350 |
+
|
351 |
+
function seopress_bulk_action_index_admin_notice() {
|
352 |
+
if ( ! empty( $_REQUEST['bulk_index_posts'] ) ) {
|
353 |
+
$index_count = intval( $_REQUEST['bulk_index_posts'] );
|
354 |
+
printf( '<div id="message" class="updated fade"><p>' .
|
355 |
+
_n( '%s post to index.',
|
356 |
+
'%s posts to index.',
|
357 |
+
$index_count,
|
358 |
+
'wp-seopress'
|
359 |
+
) . '</p></div>', $index_count );
|
360 |
+
}
|
361 |
+
}
|
362 |
+
|
363 |
+
//nofollow
|
364 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
365 |
+
add_filter( 'bulk_actions-edit-'.$key, 'seopress_bulk_actions_nofollow' );
|
366 |
+
}
|
367 |
+
|
368 |
+
function seopress_bulk_actions_nofollow($bulk_actions) {
|
369 |
+
$bulk_actions['seopress_nofollow'] = __( 'Enable nofollow', 'wp-seopress');
|
370 |
+
return $bulk_actions;
|
371 |
+
}
|
372 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
373 |
+
add_filter( 'handle_bulk_actions-edit-'.$key, 'seopress_bulk_action_nofollow_handler', 10, 3 );
|
374 |
+
}
|
375 |
+
|
376 |
+
function seopress_bulk_action_nofollow_handler( $redirect_to, $doaction, $post_ids ) {
|
377 |
+
if ( $doaction !== 'seopress_nofollow' ) {
|
378 |
+
return $redirect_to;
|
379 |
+
}
|
380 |
+
foreach ( $post_ids as $post_id ) {
|
381 |
+
// Perform action for each post.
|
382 |
+
update_post_meta( $post_id, '_seopress_robots_nofollow', 'yes' );
|
383 |
+
}
|
384 |
+
$redirect_to = add_query_arg( 'bulk_nofollow_posts', count( $post_ids ), $redirect_to );
|
385 |
+
return $redirect_to;
|
386 |
+
}
|
387 |
+
|
388 |
+
add_action( 'admin_notices', 'seopress_bulk_action_nofollow_admin_notice' );
|
389 |
+
|
390 |
+
function seopress_bulk_action_nofollow_admin_notice() {
|
391 |
+
if ( ! empty( $_REQUEST['bulk_nofollow_posts'] ) ) {
|
392 |
+
$nofollow_count = intval( $_REQUEST['bulk_nofollow_posts'] );
|
393 |
+
printf( '<div id="message" class="updated fade"><p>' .
|
394 |
+
_n( '%s post to nofollow.',
|
395 |
+
'%s posts to nofollow.',
|
396 |
+
$nofollow_count,
|
397 |
+
'wp-seopress'
|
398 |
+
) . '</p></div>', $nofollow_count );
|
399 |
+
}
|
400 |
+
}
|
401 |
+
|
402 |
+
//follow
|
403 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
404 |
+
add_filter( 'bulk_actions-edit-'.$key, 'seopress_bulk_actions_follow' );
|
405 |
+
}
|
406 |
+
|
407 |
+
function seopress_bulk_actions_follow($bulk_actions) {
|
408 |
+
$bulk_actions['seopress_follow'] = __( 'Enable follow', 'wp-seopress');
|
409 |
+
return $bulk_actions;
|
410 |
+
}
|
411 |
+
|
412 |
+
foreach (seopress_get_post_types() as $key => $value) {
|
413 |
+
add_filter( 'handle_bulk_actions-edit-'.$key, 'seopress_bulk_action_follow_handler', 10, 3 );
|
414 |
+
}
|
415 |
+
|
416 |
+
function seopress_bulk_action_follow_handler( $redirect_to, $doaction, $post_ids ) {
|
417 |
+
if ( $doaction !== 'seopress_follow' ) {
|
418 |
+
return $redirect_to;
|
419 |
+
}
|
420 |
+
foreach ( $post_ids as $post_id ) {
|
421 |
+
// Perform action for each post.
|
422 |
+
delete_post_meta( $post_id, '_seopress_robots_follow', '' );
|
423 |
+
}
|
424 |
+
$redirect_to = add_query_arg( 'bulk_follow_posts', count( $post_ids ), $redirect_to );
|
425 |
+
return $redirect_to;
|
426 |
+
}
|
427 |
+
|
428 |
+
add_action( 'admin_notices', 'seopress_bulk_action_follow_admin_notice' );
|
429 |
+
|
430 |
+
function seopress_bulk_action_follow_admin_notice() {
|
431 |
+
if ( ! empty( $_REQUEST['bulk_follow_posts'] ) ) {
|
432 |
+
$follow_count = intval( $_REQUEST['bulk_follow_posts'] );
|
433 |
+
printf( '<div id="message" class="updated fade"><p>' .
|
434 |
+
_n( '%s post to follow.',
|
435 |
+
'%s posts to follow.',
|
436 |
+
$follow_count,
|
437 |
+
'wp-seopress'
|
438 |
+
) . '</p></div>', $follow_count );
|
439 |
+
}
|
440 |
+
}
|
441 |
+
|
442 |
+
//Quick Edit
|
443 |
+
add_action( 'quick_edit_custom_box', 'seopress_bulk_quick_edit_custom_box', 10, 2 );
|
444 |
+
|
445 |
+
function seopress_bulk_quick_edit_custom_box($column_name) {
|
446 |
+
static $printNonce = TRUE;
|
447 |
+
if ( $printNonce ) {
|
448 |
+
$printNonce = FALSE;
|
449 |
+
wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_title_edit_nonce' );
|
450 |
+
}
|
451 |
+
|
452 |
+
?>
|
453 |
+
<div class="wp-clearfix"></div>
|
454 |
+
<fieldset class="inline-edit-col-left inline-edit-book">
|
455 |
+
<div class="inline-edit-col column-<?php echo $column_name; ?>">
|
456 |
+
|
457 |
+
<?php
|
458 |
+
switch ( $column_name ) {
|
459 |
+
case 'seopress_title':
|
460 |
+
?>
|
461 |
+
<h4><?php _e('SEO','wp-seopress'); ?></h4>
|
462 |
+
<label class="inline-edit-group">
|
463 |
+
<span class="title"><?php _e('Title tag','wp-seopress'); ?></span>
|
464 |
+
<span class="input-text-wrap"><input type="text" name="seopress_title" /></span>
|
465 |
+
</label>
|
466 |
+
<?php
|
467 |
+
break;
|
468 |
+
case 'seopress_desc':
|
469 |
+
?>
|
470 |
+
<label class="inline-edit-tags">
|
471 |
+
<span class="title"><?php _e('Meta description','wp-seopress'); ?></span>
|
472 |
+
<textarea cols="22" rows="1" name="seopress_desc" autocomplete="off" role="combobox" aria-autocomplete="list" aria-expanded="false"></textarea>
|
473 |
+
</label>
|
474 |
+
<?php
|
475 |
+
break;
|
476 |
+
}
|
477 |
+
?>
|
478 |
+
</label>
|
479 |
+
</div>
|
480 |
+
</fieldset>
|
481 |
+
<?php
|
482 |
+
}
|
483 |
+
|
484 |
+
add_action('save_post','seopress_bulk_quick_edit_save_post', 10, 2);
|
485 |
+
function seopress_bulk_quick_edit_save_post($post_id) {
|
486 |
+
if (!current_user_can('edit_post', $post_id)) {
|
487 |
+
return;
|
488 |
+
}
|
489 |
+
$_POST += array("seopress_title_edit_nonce" => '');
|
490 |
+
if (!wp_verify_nonce($_POST["seopress_title_edit_nonce"], plugin_basename( __FILE__ ))) {
|
491 |
+
return;
|
492 |
+
}
|
493 |
+
if (isset($_REQUEST['seopress_title'])) {
|
494 |
+
update_post_meta($post_id, '_seopress_titles_title', esc_html($_REQUEST['seopress_title']));
|
495 |
+
}
|
496 |
+
if (isset($_REQUEST['seopress_desc'])) {
|
497 |
+
update_post_meta($post_id, '_seopress_titles_desc', esc_html($_REQUEST['seopress_desc']));
|
498 |
+
}
|
499 |
+
}
|
inc/functions/options-import-export.php
CHANGED
@@ -69,6 +69,23 @@ function seopress_import_settings() {
|
|
69 |
}
|
70 |
add_action( 'admin_init', 'seopress_import_settings' );
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
//Reset SEOPress Settings
|
73 |
function seopress_reset_settings() {
|
74 |
if( empty( $_POST['seopress_action'] ) || 'reset_settings' != $_POST['seopress_action'] )
|
69 |
}
|
70 |
add_action( 'admin_init', 'seopress_import_settings' );
|
71 |
|
72 |
+
//Reset SEOPress Notices Settings
|
73 |
+
function seopress_reset_notices_settings() {
|
74 |
+
if( empty( $_POST['seopress_action'] ) || 'reset_notices_settings' != $_POST['seopress_action'] )
|
75 |
+
return;
|
76 |
+
if( ! wp_verify_nonce( $_POST['seopress_reset_notices_nonce'], 'seopress_reset_notices_nonce' ) )
|
77 |
+
return;
|
78 |
+
if( ! current_user_can( 'manage_options' ) )
|
79 |
+
return;
|
80 |
+
|
81 |
+
global $wpdb;
|
82 |
+
|
83 |
+
$wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_notices' ");
|
84 |
+
|
85 |
+
wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit;
|
86 |
+
}
|
87 |
+
add_action( 'admin_init', 'seopress_reset_notices_settings' );
|
88 |
+
|
89 |
//Reset SEOPress Settings
|
90 |
function seopress_reset_settings() {
|
91 |
if( empty( $_POST['seopress_action'] ) || 'reset_settings' != $_POST['seopress_action'] )
|
languages/wp-seopress-fr_FR.mo
CHANGED
Binary file
|
languages/wp-seopress-fr_FR.po
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: SEOPress\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
|
5 |
-
"POT-Creation-Date: 2017-01-
|
6 |
-
"PO-Revision-Date: 2017-01-
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: Benjamin DENIS <contact@seopress.org>\n"
|
9 |
"Language: fr_FR\n"
|
@@ -34,70 +34,70 @@ msgid "Support"
|
|
34 |
msgstr "Support"
|
35 |
|
36 |
#: inc/admin/admin-metaboxes.php:11 inc/admin/admin-metaboxes.php:13
|
37 |
-
#: inc/admin/adminbar.php:16
|
38 |
msgid "SEO"
|
39 |
msgstr "SEO"
|
40 |
|
41 |
-
#: inc/admin/admin-metaboxes.php:
|
42 |
msgid "Titles settings"
|
43 |
msgstr "Paramètres de titres"
|
44 |
|
45 |
-
#: inc/admin/admin-metaboxes.php:
|
46 |
-
#: inc/admin/admin.php:
|
47 |
#: inc/admin/adminbar.php:46
|
48 |
msgid "Advanced"
|
49 |
msgstr "Avancé"
|
50 |
|
51 |
-
#: inc/admin/admin-metaboxes.php:
|
52 |
-
#: inc/admin/admin.php:
|
53 |
msgid "Social"
|
54 |
msgstr "Social"
|
55 |
|
56 |
-
#: inc/admin/admin-metaboxes.php:
|
57 |
msgid "Redirections"
|
58 |
msgstr "Redirections"
|
59 |
|
60 |
-
#: inc/admin/admin-metaboxes.php:
|
61 |
msgid "Google News"
|
62 |
msgstr "Google News"
|
63 |
|
64 |
-
#: inc/admin/admin-metaboxes.php:
|
65 |
msgid "Title"
|
66 |
msgstr "Titre"
|
67 |
|
68 |
-
#: inc/admin/admin-metaboxes.php:
|
69 |
msgid "Enter your title"
|
70 |
msgstr "Entrez votre titre"
|
71 |
|
72 |
-
#: inc/admin/admin-metaboxes.php:
|
73 |
msgid "(maximum recommended limit)"
|
74 |
msgstr "(limite maximale recommandée)"
|
75 |
|
76 |
-
#: inc/admin/admin-metaboxes.php:
|
77 |
-
#: inc/admin/admin.php:
|
78 |
msgid "Meta description"
|
79 |
msgstr "Meta description"
|
80 |
|
81 |
-
#: inc/admin/admin-metaboxes.php:
|
82 |
msgid "Enter your meta description"
|
83 |
msgstr "Entrez votre méta description"
|
84 |
|
85 |
-
#: inc/admin/admin-metaboxes.php:
|
86 |
msgid "Google Snippet Preview"
|
87 |
msgstr "Aperçu Google Snippet"
|
88 |
|
89 |
-
#: inc/admin/admin-metaboxes.php:
|
90 |
msgid "This is what your page will look like in Google search results"
|
91 |
msgstr ""
|
92 |
"Voilà à quoi ressemblera votre page dans les résultats de recherche Google"
|
93 |
|
94 |
-
#: inc/admin/admin-metaboxes.php:
|
95 |
-
#: inc/admin/admin.php:
|
96 |
-
#: inc/admin/admin.php:
|
97 |
msgid "noindex"
|
98 |
msgstr "noindex"
|
99 |
|
100 |
-
#: inc/admin/admin-metaboxes.php:
|
101 |
msgid ""
|
102 |
"Do not display all pages of the site in Google search results and do not "
|
103 |
"display \"Cached\" links in search results."
|
@@ -105,22 +105,22 @@ msgstr ""
|
|
105 |
"Ne pas afficher toutes les pages du site dans les résultats de recherche "
|
106 |
"<br>et ne pas afficher de lien \"En cache\" dans les résultats de recherche."
|
107 |
|
108 |
-
#: inc/admin/admin-metaboxes.php:
|
109 |
-
#: inc/admin/admin.php:
|
110 |
-
#: inc/admin/admin.php:
|
111 |
msgid "nofollow"
|
112 |
msgstr "nofollow"
|
113 |
|
114 |
-
#: inc/admin/admin-metaboxes.php:
|
115 |
msgid "Do not follow links for all pages."
|
116 |
msgstr "Ne pas suivre les liens de tout le site."
|
117 |
|
118 |
-
#: inc/admin/admin-metaboxes.php:
|
119 |
-
#: inc/admin/admin.php:
|
120 |
msgid "noodp"
|
121 |
msgstr "noodp"
|
122 |
|
123 |
-
#: inc/admin/admin-metaboxes.php:
|
124 |
msgid ""
|
125 |
"Do not use Open Directory project metadata for titles or excerpts for all "
|
126 |
"pages."
|
@@ -128,173 +128,173 @@ msgstr ""
|
|
128 |
"Ne pas utiliser les métadonnées de l'Open Directory project pour les titres "
|
129 |
"ou les extraits de tout le site."
|
130 |
|
131 |
-
#: inc/admin/admin-metaboxes.php:
|
132 |
-
#: inc/admin/admin.php:
|
133 |
msgid "noimageindex"
|
134 |
msgstr "noimageindex"
|
135 |
|
136 |
-
#: inc/admin/admin-metaboxes.php:
|
137 |
msgid "Do not index images from the entire site."
|
138 |
msgstr "Ne pas indexer les images de tout le site."
|
139 |
|
140 |
-
#: inc/admin/admin-metaboxes.php:
|
141 |
-
#: inc/admin/admin.php:
|
142 |
msgid "noarchive"
|
143 |
msgstr "noarchive"
|
144 |
|
145 |
-
#: inc/admin/admin-metaboxes.php:
|
146 |
msgid "Do not display a \"Cached\" link in the Google search results."
|
147 |
msgstr "Ne pas afficher de lien \"En cache\" dans les résultats de recherche."
|
148 |
|
149 |
-
#: inc/admin/admin-metaboxes.php:
|
150 |
-
#: inc/admin/admin.php:
|
151 |
msgid "nosnippet"
|
152 |
msgstr "nosnippet"
|
153 |
|
154 |
-
#: inc/admin/admin-metaboxes.php:
|
155 |
msgid ""
|
156 |
"Do not display a description in the Google search results for all pages."
|
157 |
msgstr ""
|
158 |
"Ne pas afficher de description dans les résultats de recherche pour toutes "
|
159 |
"les pages du site."
|
160 |
|
161 |
-
#: inc/admin/admin-metaboxes.php:
|
162 |
msgid "Canonical URL"
|
163 |
msgstr "URL Canonique"
|
164 |
|
165 |
-
#: inc/admin/admin-metaboxes.php:
|
166 |
msgid "Default value: "
|
167 |
msgstr "Valeur par défaut: "
|
168 |
|
169 |
-
#: inc/admin/admin-metaboxes.php:
|
170 |
msgid "Facebook Title"
|
171 |
msgstr "Titre Facebook"
|
172 |
|
173 |
-
#: inc/admin/admin-metaboxes.php:
|
174 |
msgid "Enter your Facebook title"
|
175 |
msgstr "Entrez votre titre Facebook"
|
176 |
|
177 |
-
#: inc/admin/admin-metaboxes.php:
|
178 |
msgid "Facebook description"
|
179 |
msgstr "Description Facebook"
|
180 |
|
181 |
-
#: inc/admin/admin-metaboxes.php:
|
182 |
msgid "Enter your Facebook description"
|
183 |
msgstr "Entrez votre description Facebook"
|
184 |
|
185 |
-
#: inc/admin/admin-metaboxes.php:
|
186 |
msgid "Facebook Thumbnail"
|
187 |
msgstr "Miniature Facebook"
|
188 |
|
189 |
-
#: inc/admin/admin-metaboxes.php:
|
190 |
msgid "Minimum size: 200x200px"
|
191 |
msgstr "Taille minimum : 200x200px"
|
192 |
|
193 |
-
#: inc/admin/admin-metaboxes.php:
|
194 |
-
#: inc/admin/admin.php:
|
195 |
msgid "Select your default thumbnail"
|
196 |
msgstr "Sélectionnez votre miniature par défaut"
|
197 |
|
198 |
-
#: inc/admin/admin-metaboxes.php:
|
199 |
-
#: inc/admin/admin.php:
|
200 |
msgid "Upload an Image"
|
201 |
msgstr "Envoyer une image"
|
202 |
|
203 |
-
#: inc/admin/admin-metaboxes.php:
|
204 |
msgid "Twitter Title"
|
205 |
msgstr "Titre Twitter"
|
206 |
|
207 |
-
#: inc/admin/admin-metaboxes.php:
|
208 |
msgid "Enter your Twitter title"
|
209 |
msgstr "Entrez votre titre Twitter"
|
210 |
|
211 |
-
#: inc/admin/admin-metaboxes.php:
|
212 |
msgid "Twitter description"
|
213 |
msgstr "Description Twitter"
|
214 |
|
215 |
-
#: inc/admin/admin-metaboxes.php:
|
216 |
msgid "Enter your Twitter description"
|
217 |
msgstr "Entrez votre description Twitter"
|
218 |
|
219 |
-
#: inc/admin/admin-metaboxes.php:
|
220 |
msgid "Twitter Thumbnail"
|
221 |
msgstr "Miniature Twitter"
|
222 |
|
223 |
-
#: inc/admin/admin-metaboxes.php:
|
224 |
msgid "Minimum size: 160x160px"
|
225 |
msgstr "Taille minimum : 160x160px"
|
226 |
|
227 |
-
#: inc/admin/admin-metaboxes.php:
|
228 |
msgid "Enable redirection?"
|
229 |
msgstr "Activer la redirection ?"
|
230 |
|
231 |
-
#: inc/admin/admin-metaboxes.php:
|
232 |
msgid "URL redirection"
|
233 |
msgstr "URL de redirection"
|
234 |
|
235 |
-
#: inc/admin/admin-metaboxes.php:
|
236 |
msgid "301"
|
237 |
msgstr "301"
|
238 |
|
239 |
-
#: inc/admin/admin-metaboxes.php:
|
240 |
msgid "302"
|
241 |
msgstr "302"
|
242 |
|
243 |
-
#: inc/admin/admin-metaboxes.php:
|
244 |
msgid "307"
|
245 |
msgstr "307"
|
246 |
|
247 |
-
#: inc/admin/admin-metaboxes.php:
|
248 |
msgid "Enter your URL"
|
249 |
msgstr "Saisissez votre URL"
|
250 |
|
251 |
-
#: inc/admin/admin-metaboxes.php:
|
252 |
msgid "Test your URL"
|
253 |
msgstr "Tester votre URL"
|
254 |
|
255 |
-
#: inc/admin/admin-metaboxes.php:
|
256 |
msgid "Exclude this post from Google News Sitemap?"
|
257 |
msgstr "Exclure cet article du sitemap Google News ?"
|
258 |
|
259 |
-
#: inc/admin/admin-metaboxes.php:
|
260 |
msgid "Google News Genres"
|
261 |
msgstr "Genres Google News"
|
262 |
|
263 |
-
#: inc/admin/admin-metaboxes.php:
|
264 |
-
#: inc/admin/admin.php:
|
265 |
-
#: inc/admin/admin.php:
|
266 |
msgid "None"
|
267 |
msgstr "Aucun"
|
268 |
|
269 |
-
#: inc/admin/admin-metaboxes.php:
|
270 |
msgid "Press Release"
|
271 |
msgstr "Press Release"
|
272 |
|
273 |
-
#: inc/admin/admin-metaboxes.php:
|
274 |
msgid "Satire"
|
275 |
msgstr "Satire"
|
276 |
|
277 |
-
#: inc/admin/admin-metaboxes.php:
|
278 |
msgid "Blog"
|
279 |
msgstr "Blog"
|
280 |
|
281 |
-
#: inc/admin/admin-metaboxes.php:
|
282 |
msgid "OpEd"
|
283 |
msgstr "OpEd"
|
284 |
|
285 |
-
#: inc/admin/admin-metaboxes.php:
|
286 |
msgid "Opinion"
|
287 |
msgstr "Opinion"
|
288 |
|
289 |
-
#: inc/admin/admin-metaboxes.php:
|
290 |
msgid "UserGenerated"
|
291 |
msgstr "UserGenerated"
|
292 |
|
293 |
-
#: inc/admin/admin-metaboxes.php:
|
294 |
msgid "Google News Keywords <em>(max recommended limit: 12)</em>"
|
295 |
msgstr "Mots clés Google News <em>(limite max recommandée: 12)</em>"
|
296 |
|
297 |
-
#: inc/admin/admin-metaboxes.php:
|
298 |
msgid "Enter your Google News Keywords"
|
299 |
msgstr "Entrez vos mots clés Google News"
|
300 |
|
@@ -302,177 +302,177 @@ msgstr "Entrez vos mots clés Google News"
|
|
302 |
msgid "404 - Page not found"
|
303 |
msgstr "404 - Page non trouvée"
|
304 |
|
305 |
-
#: inc/admin/admin.php:
|
306 |
msgid "Titles & Metas"
|
307 |
msgstr "Titres et Métas"
|
308 |
|
309 |
-
#: inc/admin/admin.php:
|
310 |
msgid "XML / HTML Sitemap"
|
311 |
msgstr "Sitemap XML / HTML"
|
312 |
|
313 |
-
#: inc/admin/admin.php:
|
314 |
msgid "Google Analytics"
|
315 |
msgstr "Google Analytics"
|
316 |
|
317 |
-
#: inc/admin/admin.php:
|
318 |
msgid "Import / Export / Reset settings"
|
319 |
msgstr "Import / Export / Réinitialisation des paramètres"
|
320 |
|
321 |
-
#: inc/admin/admin.php:
|
322 |
msgid "Import / Export / Reset"
|
323 |
msgstr "Importer / Exporter / Réinitialiser"
|
324 |
|
325 |
-
#: inc/admin/admin.php:
|
326 |
#, php-format
|
327 |
msgid "%%sitetitle%%"
|
328 |
msgstr "%%sitetitle%%"
|
329 |
|
330 |
-
#: inc/admin/admin.php:
|
331 |
-
#: inc/admin/admin.php:
|
332 |
-
#: inc/admin/admin.php:
|
333 |
msgid "Site Title"
|
334 |
msgstr "Titre du Site"
|
335 |
|
336 |
-
#: inc/admin/admin.php:
|
337 |
#, php-format
|
338 |
msgid "%%tagline%%"
|
339 |
msgstr "%%tagline%%"
|
340 |
|
341 |
-
#: inc/admin/admin.php:
|
342 |
msgid "Tagline"
|
343 |
msgstr "Slogan du site"
|
344 |
|
345 |
-
#: inc/admin/admin.php:
|
346 |
#, php-format
|
347 |
msgid "%%post_title%%"
|
348 |
msgstr "%%post_title%%"
|
349 |
|
350 |
-
#: inc/admin/admin.php:
|
351 |
msgid "Post Title (post, page, custom post type)"
|
352 |
msgstr "Titre du post (article, page, type d'article personnalisé)"
|
353 |
|
354 |
-
#: inc/admin/admin.php:
|
355 |
#, php-format
|
356 |
msgid "%%post_excerpt%%"
|
357 |
msgstr "%%post_excerpt%%"
|
358 |
|
359 |
-
#: inc/admin/admin.php:
|
360 |
msgid "Post excerpt"
|
361 |
msgstr "Extrait du post"
|
362 |
|
363 |
-
#: inc/admin/admin.php:
|
364 |
#, php-format
|
365 |
msgid "%%post_date%%"
|
366 |
msgstr "%%post_date%%"
|
367 |
|
368 |
-
#: inc/admin/admin.php:
|
369 |
msgid "Post date"
|
370 |
msgstr "Date du post"
|
371 |
|
372 |
-
#: inc/admin/admin.php:
|
373 |
#, php-format
|
374 |
msgid "%%post_author%%"
|
375 |
msgstr "%%post_author%%"
|
376 |
|
377 |
-
#: inc/admin/admin.php:
|
378 |
msgid "Post author"
|
379 |
msgstr "Auteur du post"
|
380 |
|
381 |
-
#: inc/admin/admin.php:
|
382 |
#, php-format
|
383 |
msgid "%%_category_title%%"
|
384 |
msgstr "%%_category_title%%"
|
385 |
|
386 |
-
#: inc/admin/admin.php:
|
387 |
msgid "Category title"
|
388 |
msgstr "Titre de catégorie"
|
389 |
|
390 |
-
#: inc/admin/admin.php:
|
391 |
#, php-format
|
392 |
msgid "%%_category_description%%"
|
393 |
msgstr "%%_category_description%%"
|
394 |
|
395 |
-
#: inc/admin/admin.php:
|
396 |
msgid "Category description"
|
397 |
msgstr "Description de la catégorie"
|
398 |
|
399 |
-
#: inc/admin/admin.php:
|
400 |
#, php-format
|
401 |
msgid "%%tag_title%%"
|
402 |
msgstr "%%tag_title%%"
|
403 |
|
404 |
-
#: inc/admin/admin.php:
|
405 |
msgid "Tag title"
|
406 |
msgstr "Titre de l'étiquette"
|
407 |
|
408 |
-
#: inc/admin/admin.php:
|
409 |
#, php-format
|
410 |
msgid "%%tag_description%%"
|
411 |
msgstr "%%tag_description%%"
|
412 |
|
413 |
-
#: inc/admin/admin.php:
|
414 |
msgid "Tag description"
|
415 |
msgstr "Description de l'étiquette"
|
416 |
|
417 |
-
#: inc/admin/admin.php:
|
418 |
#, php-format
|
419 |
msgid "%%term_title%%"
|
420 |
msgstr "%%term_title%%"
|
421 |
|
422 |
-
#: inc/admin/admin.php:
|
423 |
msgid "Term title"
|
424 |
msgstr "Titre du terme"
|
425 |
|
426 |
-
#: inc/admin/admin.php:
|
427 |
#, php-format
|
428 |
msgid "%%term_description%%"
|
429 |
msgstr "%%term_description%%"
|
430 |
|
431 |
-
#: inc/admin/admin.php:
|
432 |
msgid "Term description"
|
433 |
msgstr "Description du terme"
|
434 |
|
435 |
-
#: inc/admin/admin.php:
|
436 |
#, php-format
|
437 |
msgid "%%search_keywords%%"
|
438 |
msgstr "%%search_keywords%%"
|
439 |
|
440 |
-
#: inc/admin/admin.php:
|
441 |
msgid "Search keywords"
|
442 |
msgstr "Mots clés de recherche"
|
443 |
|
444 |
-
#: inc/admin/admin.php:
|
445 |
#, php-format
|
446 |
msgid "%%current_pagination%%"
|
447 |
msgstr "%%current_pagination%%"
|
448 |
|
449 |
-
#: inc/admin/admin.php:
|
450 |
msgid "Current number page"
|
451 |
msgstr "Numéro de page actuel"
|
452 |
|
453 |
-
#: inc/admin/admin.php:
|
454 |
#, php-format
|
455 |
msgid "%%cpt_plural%%"
|
456 |
msgstr "%%cpt_plural%%"
|
457 |
|
458 |
-
#: inc/admin/admin.php:
|
459 |
msgid "Plural Post Type Archive name"
|
460 |
msgstr "Nom pluriel archives type d'article personnalisé"
|
461 |
|
462 |
-
#: inc/admin/admin.php:
|
463 |
#, php-format
|
464 |
msgid "%%date_archive%%"
|
465 |
msgstr "%%date_archive%%"
|
466 |
|
467 |
-
#: inc/admin/admin.php:
|
468 |
msgid "Date Archive"
|
469 |
msgstr "Date d'archive"
|
470 |
|
471 |
-
#: inc/admin/admin.php:
|
472 |
msgid "Templates variables"
|
473 |
msgstr "Modèles de variables"
|
474 |
|
475 |
-
#: inc/admin/admin.php:
|
476 |
msgid ""
|
477 |
"Discourage search engines from indexing this site is <strong>ON!</strong> "
|
478 |
"None of the following settings will be applied."
|
@@ -480,71 +480,75 @@ msgstr ""
|
|
480 |
"Décourager les moteurs de recherche d’indexer ce site est <strong>actif !</"
|
481 |
"strong> Aucun des paramètres suivants ne s’appliqueront."
|
482 |
|
483 |
-
#: inc/admin/admin.php:
|
484 |
msgid "Change this settings"
|
485 |
msgstr "Changer ce paramètre"
|
486 |
|
487 |
-
#: inc/admin/admin.php:
|
488 |
msgid "Home"
|
489 |
msgstr "Accueil"
|
490 |
|
491 |
-
#: inc/admin/admin.php:
|
492 |
msgid "Single Post Types"
|
493 |
msgstr "Détail Types de contenus"
|
494 |
|
495 |
-
#: inc/admin/admin.php:
|
496 |
msgid "Archives"
|
497 |
msgstr "Archives"
|
498 |
|
499 |
-
#: inc/admin/admin.php:
|
500 |
msgid "Taxonomies"
|
501 |
msgstr "Taxonomies"
|
502 |
|
503 |
-
#: inc/admin/admin.php:
|
504 |
msgid "General"
|
505 |
msgstr "Général"
|
506 |
|
507 |
-
#: inc/admin/admin.php:
|
508 |
msgid "Post Types"
|
509 |
msgstr "Types de contenus"
|
510 |
|
511 |
-
#: inc/admin/admin.php:
|
512 |
msgid "HTML Sitemap"
|
513 |
msgstr "Sitemap HTML"
|
514 |
|
515 |
-
#: inc/admin/admin.php:
|
516 |
msgid "Knowledge Graph"
|
517 |
msgstr "Knowledge Graph"
|
518 |
|
519 |
-
#: inc/admin/admin.php:
|
520 |
msgid "Your social accounts"
|
521 |
msgstr "Vos comptes sociaux"
|
522 |
|
523 |
-
#: inc/admin/admin.php:
|
524 |
msgid "Facebook"
|
525 |
msgstr "Facebook"
|
526 |
|
527 |
-
#: inc/admin/admin.php:
|
528 |
msgid "Twitter"
|
529 |
msgstr "Twitter"
|
530 |
|
531 |
-
#: inc/admin/admin.php:367
|
532 |
msgid "Tracking"
|
533 |
msgstr "Suivi"
|
534 |
|
535 |
-
#: inc/admin/admin.php:368
|
536 |
msgid "Custom Dimensions"
|
537 |
msgstr "Dimensions personnalisées"
|
538 |
|
539 |
-
#: inc/admin/admin.php:
|
|
|
|
|
|
|
|
|
540 |
msgid "Appearance"
|
541 |
msgstr "Apparence"
|
542 |
|
543 |
-
#: inc/admin/admin.php:
|
544 |
msgid "Export Settings"
|
545 |
msgstr "Exporter Paramètres"
|
546 |
|
547 |
-
#: inc/admin/admin.php:
|
548 |
msgid ""
|
549 |
"Export the plugin settings for this site as a .json file. This allows you to "
|
550 |
"easily import the configuration into another site."
|
@@ -553,15 +557,15 @@ msgstr ""
|
|
553 |
"vous permet d'importer facilement votre configuration dans un autre site "
|
554 |
"WordPress."
|
555 |
|
556 |
-
#: inc/admin/admin.php:
|
557 |
msgid "Export"
|
558 |
msgstr "Exporter"
|
559 |
|
560 |
-
#: inc/admin/admin.php:
|
561 |
msgid "Import Settings"
|
562 |
msgstr "Importer Paramètres"
|
563 |
|
564 |
-
#: inc/admin/admin.php:
|
565 |
msgid ""
|
566 |
"Import the plugin settings from a .json file. This file can be obtained by "
|
567 |
"exporting the settings on another site using the form above."
|
@@ -570,52 +574,68 @@ msgstr ""
|
|
570 |
"être obtenu en exportant les paramètres depuis un autre site en utilisant le "
|
571 |
"formulaire ci-dessus."
|
572 |
|
573 |
-
#: inc/admin/admin.php:
|
574 |
msgid "Import"
|
575 |
msgstr "Importer"
|
576 |
|
577 |
-
#: inc/admin/admin.php:
|
578 |
msgid "Import posts metadata from Yoast"
|
579 |
msgstr ""
|
580 |
"Importer les méta données des articles, pages, types d'articles "
|
581 |
"personnalisés depuis Yoast"
|
582 |
|
583 |
-
#: inc/admin/admin.php:
|
584 |
msgid "By clicking Migrate, we'll import:"
|
585 |
msgstr "En cliquant sur Migrer, vous importerez :"
|
586 |
|
587 |
-
#: inc/admin/admin.php:
|
588 |
msgid "Title tags"
|
589 |
msgstr "Balises titres"
|
590 |
|
591 |
-
#: inc/admin/admin.php:
|
592 |
msgid "Facebook Open Graph tags (title, description and image thumbnail)"
|
593 |
msgstr "Balises Facebook Open Graph (titre, description et miniature)"
|
594 |
|
595 |
-
#: inc/admin/admin.php:
|
596 |
msgid "Twitter tags (title, description and image thumbnail)"
|
597 |
msgstr "Balises Twitter (titre, description et miniature)"
|
598 |
|
599 |
-
#: inc/admin/admin.php:
|
600 |
msgid "Meta Robots (noindex, nofollow...)"
|
601 |
msgstr "Meta Robots (noindex, nofollow...)"
|
602 |
|
603 |
-
#: inc/admin/admin.php:
|
604 |
msgid ""
|
605 |
"<strong>WARNING:</strong> Migration will delete all SEOPress posts metadata"
|
606 |
msgstr ""
|
607 |
"<strong>ATTENTION :</strong> La migration supprimera toutes les méta-données "
|
608 |
"de SEOPress"
|
609 |
|
610 |
-
#: inc/admin/admin.php:
|
611 |
msgid "Migrate now"
|
612 |
msgstr "Migrer maintenant"
|
613 |
|
614 |
-
#: inc/admin/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
msgid "Reset All Settings"
|
616 |
msgstr "Tout réinitialiser"
|
617 |
|
618 |
-
#: inc/admin/admin.php:
|
619 |
msgid ""
|
620 |
"<strong>WARNING:</strong> Delete all options related to SEOPress in your "
|
621 |
"database AND set settings to their default values."
|
@@ -623,15 +643,15 @@ msgstr ""
|
|
623 |
"<strong>AVERTISSEMENT:</strong> Supprime toutes les options liées à SEOPress "
|
624 |
"dans la base de données et redéfini ces derniers à leurs valeurs par défaut."
|
625 |
|
626 |
-
#: inc/admin/admin.php:
|
627 |
msgid "Reset settings"
|
628 |
msgstr "Réinitialiser les paramètres"
|
629 |
|
630 |
-
#: inc/admin/admin.php:
|
631 |
msgid "Notifications Center"
|
632 |
msgstr "Centre de Notifications"
|
633 |
|
634 |
-
#: inc/admin/admin.php:
|
635 |
msgid ""
|
636 |
"We notice that you use Yoast SEO plugin. <br>Do you want to migrate all your "
|
637 |
"posts metadata to SEOPress?"
|
@@ -640,159 +660,171 @@ msgstr ""
|
|
640 |
"méta données de vos articles, pages et types d'articles personnalisés vers "
|
641 |
"SEOPress ?"
|
642 |
|
643 |
-
#: inc/admin/admin.php:
|
644 |
msgid "Migrate!"
|
645 |
msgstr "Migrer !"
|
646 |
|
647 |
-
#: inc/admin/admin.php:
|
648 |
msgid "Your site doesn't use an SSL certificate!"
|
649 |
msgstr "Votre site n'utilise pas de certificat SSL !"
|
650 |
|
651 |
-
#: inc/admin/admin.php:
|
652 |
msgid "Learn more"
|
653 |
msgstr "En savoir plus"
|
654 |
|
655 |
-
#: inc/admin/admin.php:
|
656 |
msgid "Low impact"
|
657 |
msgstr "Impact faible"
|
658 |
|
659 |
-
#: inc/admin/admin.php:
|
660 |
msgid "Buy an SSL!"
|
661 |
msgstr "Acheter un SSL !"
|
662 |
|
663 |
-
#: inc/admin/admin.php:
|
664 |
msgid "Your site is not visible to Search Engines!"
|
665 |
msgstr "Votre site n'est pas visible aux moteurs de recherche !"
|
666 |
|
667 |
-
#: inc/admin/admin.php:
|
668 |
msgid "High impact"
|
669 |
msgstr "Impact élevé"
|
670 |
|
671 |
-
#: inc/admin/admin.php:
|
672 |
-
#: inc/admin/admin.php:
|
673 |
msgid "Fix this!"
|
674 |
msgstr "Régler !"
|
675 |
|
676 |
-
#: inc/admin/admin.php:
|
677 |
msgid "Your site title is empty!"
|
678 |
msgstr "Le titre de votre site est vide !"
|
679 |
|
680 |
-
#: inc/admin/admin.php:
|
681 |
msgid ""
|
682 |
"Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
|
683 |
msgstr ""
|
684 |
"Vos permaliens ne sont pas SEO Friendly ! Veuillez activer la réécriture "
|
685 |
"d'URL pour résoudre cela."
|
686 |
|
687 |
-
#: inc/admin/admin.php:
|
688 |
-
msgid "You
|
689 |
-
msgstr "
|
690 |
|
691 |
-
#: inc/admin/admin.php:
|
692 |
msgid "Medium impact"
|
693 |
msgstr "Impact modéré"
|
694 |
|
695 |
-
#: inc/admin/admin.php:
|
696 |
-
msgid "
|
697 |
-
msgstr "
|
698 |
|
699 |
-
#: inc/admin/admin.php:
|
700 |
msgid "Huge impact"
|
701 |
msgstr "Impact élevé"
|
702 |
|
703 |
-
#: inc/admin/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
704 |
msgid "Create your page now!"
|
705 |
msgstr "Créez votre page !"
|
706 |
|
707 |
-
#: inc/admin/admin.php:
|
708 |
msgid "Add your site to Google. It's free!"
|
709 |
msgstr "Ajoutez votre site à Google. C’est gratuit !"
|
710 |
|
711 |
-
#: inc/admin/admin.php:
|
712 |
msgid "Add your site to Search Console!"
|
713 |
msgstr "Ajoutez à Search Console !"
|
714 |
|
715 |
-
#: inc/admin/admin.php:
|
716 |
msgid "You have to enter your licence key to get updates and support"
|
717 |
msgstr ""
|
718 |
"Vous devez entrer votre clé de licence pour obtenir mises à jour et support"
|
719 |
|
720 |
-
#: inc/admin/admin.php:
|
721 |
msgid "Titles & metas"
|
722 |
msgstr "Titres et Métas"
|
723 |
|
724 |
-
#: inc/admin/admin.php:
|
725 |
msgid "Manage all your titles & metas"
|
726 |
msgstr "Gérez tous vos titres et métas"
|
727 |
|
728 |
-
#: inc/admin/admin.php:
|
729 |
-
#: inc/admin/admin.php:
|
730 |
-
#: inc/admin/admin.php:
|
731 |
-
#: inc/admin/admin.php:
|
732 |
-
#: inc/admin/admin.php:
|
733 |
-
#: inc/admin/admin.php:
|
734 |
msgid "Manage"
|
735 |
msgstr "Gérer"
|
736 |
|
737 |
-
#: inc/admin/admin.php:
|
738 |
-
#: inc/admin/admin.php:
|
739 |
-
#: inc/admin/admin.php:
|
740 |
-
#: inc/admin/admin.php:
|
741 |
-
#: inc/admin/admin.php:
|
742 |
-
#: inc/admin/admin.php:
|
743 |
-
#: inc/admin/admin.php:
|
744 |
-
#: inc/admin/admin.php:
|
745 |
msgid "Click to disable this feature"
|
746 |
msgstr "Cliquez pour désactiver cette fonctionnalité"
|
747 |
|
748 |
-
#: inc/admin/admin.php:
|
749 |
-
#: inc/admin/admin.php:
|
750 |
-
#: inc/admin/admin.php:
|
751 |
-
#: inc/admin/admin.php:
|
752 |
-
#: inc/admin/admin.php:
|
753 |
-
#: inc/admin/admin.php:
|
754 |
-
#: inc/admin/admin.php:
|
755 |
-
#: inc/admin/admin.php:
|
756 |
msgid "Click to enable this feature"
|
757 |
msgstr "Cliquez pour activer cette fonctionnalité"
|
758 |
|
759 |
-
#: inc/admin/admin.php:
|
760 |
msgid "Manage your XML / HTML Sitemap"
|
761 |
msgstr "Gérez votre plan de site XML / HTML"
|
762 |
|
763 |
-
#: inc/admin/admin.php:
|
764 |
msgid "Open Graph, Twitter Card, Google Knowledge Graph and more..."
|
765 |
msgstr "Open Graph, Twitter Card, Google Knowledge Graph et plus..."
|
766 |
|
767 |
-
#: inc/admin/admin.php:
|
768 |
msgid "Track everything about your visitors with Google Analytics"
|
769 |
msgstr "Suivez tout ce qui concerne vos visiteurs avec Google Analytics"
|
770 |
|
771 |
-
#: inc/admin/admin.php:
|
772 |
msgid "Advanced SEO options for advanced users!"
|
773 |
msgstr "Options SEO avancées pour utilisateurs avancés !"
|
774 |
|
775 |
-
#: inc/admin/admin.php:
|
776 |
msgid "WooCommerce"
|
777 |
msgstr "WooCommerce"
|
778 |
|
779 |
-
#: inc/admin/admin.php:
|
780 |
msgid "Improve WooCommerce SEO"
|
781 |
msgstr "Améliorer le SEO de WooCommerce"
|
782 |
|
783 |
-
#: inc/admin/admin.php:
|
784 |
msgid "Dublin Core"
|
785 |
msgstr "Dublin Core"
|
786 |
|
787 |
-
#: inc/admin/admin.php:
|
788 |
msgid "Add Dublin Core meta tags"
|
789 |
msgstr "Ajout des balises Dublin Core"
|
790 |
|
791 |
-
#: inc/admin/admin.php:
|
792 |
msgid "Structured Data Types"
|
793 |
msgstr "Types de données structurées"
|
794 |
|
795 |
-
#: inc/admin/admin.php:
|
796 |
msgid ""
|
797 |
"Add data types to your content: articles, courses, recipes, videos, events "
|
798 |
"and products"
|
@@ -800,318 +832,322 @@ msgstr ""
|
|
800 |
"Ajout des types de données à vos contenus : articles, cours, recettes, "
|
801 |
"vidéos, événements et produits"
|
802 |
|
803 |
-
#: inc/admin/admin.php:
|
804 |
msgid "Breadcrumbs"
|
805 |
msgstr "Fil d'Ariane"
|
806 |
|
807 |
-
#: inc/admin/admin.php:
|
808 |
msgid "Enable Breadcrumbs for your theme and improve your SEO in SERPs"
|
809 |
msgstr ""
|
810 |
"Activer le fil d'Ariane pour votre thème et améliorer votre SEO dans les "
|
811 |
"résultats de recherche "
|
812 |
|
813 |
-
#: inc/admin/admin.php:
|
814 |
msgid "Google Page Speed"
|
815 |
msgstr "Google Page Speed"
|
816 |
|
817 |
-
#: inc/admin/admin.php:
|
818 |
msgid "Track your website performance to improve SEO with Google Page Speed"
|
819 |
msgstr ""
|
820 |
"Suivez les performances de votre site Web afin d’améliorer le SEO avec "
|
821 |
"Google Page Speed"
|
822 |
|
823 |
-
#: inc/admin/admin.php:
|
824 |
msgid "Robots"
|
825 |
msgstr "Robots"
|
826 |
|
827 |
-
#: inc/admin/admin.php:
|
828 |
msgid "Edit your robots.txt file"
|
829 |
msgstr "Editer votre fichier robots.txt"
|
830 |
|
831 |
-
#: inc/admin/admin.php:
|
832 |
msgid "Google News Sitemap"
|
833 |
msgstr "Google News Sitemap"
|
834 |
|
835 |
-
#: inc/admin/admin.php:
|
836 |
msgid "Optimize your site for Google News"
|
837 |
msgstr "Optimisez votre site pour Google Actualités"
|
838 |
|
839 |
-
#: inc/admin/admin.php:
|
840 |
msgid "Monitor 404, create 301, 302 and 307 redirections"
|
841 |
msgstr "Surveiller les 404, créer des redirections 301, 302 et 307"
|
842 |
|
843 |
-
#: inc/admin/admin.php:
|
844 |
msgid "htaccess"
|
845 |
msgstr "htaccess"
|
846 |
|
847 |
-
#: inc/admin/admin.php:
|
848 |
msgid "Edit your htaccess file."
|
849 |
msgstr "Modifier votre fichier htaccess."
|
850 |
|
851 |
-
#: inc/admin/admin.php:
|
852 |
msgid "Import / export SEOPress settings from site to site."
|
853 |
msgstr "Importer / Exporter les paramètres d'un site à un autre"
|
854 |
|
855 |
-
#: inc/admin/admin.php:
|
856 |
msgid "License"
|
857 |
msgstr "Licence"
|
858 |
|
859 |
-
#: inc/admin/admin.php:
|
860 |
msgid "Edit your SEOPress license key."
|
861 |
msgstr "Modifier votre clé de licence SEOPress."
|
862 |
|
863 |
-
#: inc/admin/admin.php:
|
864 |
msgid "Site title"
|
865 |
msgstr "Titre du site"
|
866 |
|
867 |
-
#: inc/admin/admin.php:
|
868 |
msgid "Enable XML Sitemap"
|
869 |
msgstr "Activez le Sitemap XML"
|
870 |
|
871 |
-
#: inc/admin/admin.php:
|
872 |
msgid "Enable HTML Sitemap"
|
873 |
msgstr "Activez le Sitemap HTML"
|
874 |
|
875 |
-
#: inc/admin/admin.php:
|
876 |
msgid "Check to INCLUDE Post Types"
|
877 |
msgstr "Cochez pour INCLURE les Types d'article"
|
878 |
|
879 |
-
#: inc/admin/admin.php:
|
880 |
msgid "Check to INCLUDE Taxonomies"
|
881 |
msgstr "Cochez pour INCLURE les Taxonomies"
|
882 |
|
883 |
-
#: inc/admin/admin.php:
|
884 |
msgid "Enter a post, page or custom post type ID(s) to display the sitemap"
|
885 |
msgstr ""
|
886 |
"Saisissez un ID d'article, de page ou de type de contenu où afficher le plan "
|
887 |
"de site."
|
888 |
|
889 |
-
#: inc/admin/admin.php:
|
890 |
msgid "Exclude some Posts, Pages or Custom Post Types"
|
891 |
msgstr "Exclure certains articles, pages ou types de contenus."
|
892 |
|
893 |
-
#: inc/admin/admin.php:
|
894 |
msgid "Person or organization"
|
895 |
msgstr "Personne ou Organisation"
|
896 |
|
897 |
-
#: inc/admin/admin.php:
|
898 |
msgid "Your name / organization"
|
899 |
msgstr "Votre nom / organisation"
|
900 |
|
901 |
-
#: inc/admin/admin.php:
|
902 |
msgid "Your photo / organization logo"
|
903 |
msgstr "Votre photo / logo"
|
904 |
|
905 |
-
#: inc/admin/admin.php:
|
906 |
msgid "Organization Phone number (only for Organization)"
|
907 |
msgstr ""
|
908 |
"Numéro de téléphone de l'organisation (seulement pour les organisations)"
|
909 |
|
910 |
-
#: inc/admin/admin.php:
|
911 |
msgid "Contact type (only for Organization)"
|
912 |
msgstr "Type de contact (seulement pour les organisations)"
|
913 |
|
914 |
-
#: inc/admin/admin.php:
|
915 |
msgid "Contact option (only for Organization)"
|
916 |
msgstr "Option de contact (seulement pour les organisations)"
|
917 |
|
918 |
-
#: inc/admin/admin.php:
|
919 |
msgid "Facebook Page URL"
|
920 |
msgstr "URL de la page Facebook"
|
921 |
|
922 |
-
#: inc/admin/admin.php:
|
923 |
msgid "Twitter Username"
|
924 |
msgstr "Compte utilisateur Twitter"
|
925 |
|
926 |
-
#: inc/admin/admin.php:
|
927 |
msgid "Google + URL"
|
928 |
msgstr "URL Google +"
|
929 |
|
930 |
-
#: inc/admin/admin.php:
|
931 |
msgid "Pinterest URL"
|
932 |
msgstr "URL Pinterest"
|
933 |
|
934 |
-
#: inc/admin/admin.php:
|
935 |
msgid "Instagram URL"
|
936 |
msgstr "URL Instagram"
|
937 |
|
938 |
-
#: inc/admin/admin.php:
|
939 |
msgid "YouTube URL"
|
940 |
msgstr "URL YouTube"
|
941 |
|
942 |
-
#: inc/admin/admin.php:
|
943 |
msgid "LinkedIn URL"
|
944 |
msgstr "URL LinkedIn"
|
945 |
|
946 |
-
#: inc/admin/admin.php:
|
947 |
msgid "MySpace URL"
|
948 |
msgstr "URL MySpace"
|
949 |
|
950 |
-
#: inc/admin/admin.php:
|
951 |
msgid "Soundcloud URL"
|
952 |
msgstr "URL Soundcloud"
|
953 |
|
954 |
-
#: inc/admin/admin.php:
|
955 |
msgid "Tumblr URL"
|
956 |
msgstr "URL Tumblr"
|
957 |
|
958 |
-
#: inc/admin/admin.php:
|
959 |
msgid "Enable Open Graph Data"
|
960 |
msgstr "Activez les données Open Graph"
|
961 |
|
962 |
-
#: inc/admin/admin.php:
|
963 |
msgid "Select a default image"
|
964 |
msgstr "Sélectionnez une image par défaut"
|
965 |
|
966 |
-
#: inc/admin/admin.php:
|
967 |
msgid "Facebook Admin ID"
|
968 |
msgstr "Facebook Admin ID"
|
969 |
|
970 |
-
#: inc/admin/admin.php:
|
971 |
msgid "Facebook App ID"
|
972 |
msgstr "Facebook App ID"
|
973 |
|
974 |
-
#: inc/admin/admin.php:
|
975 |
msgid "Enable Twitter Card"
|
976 |
msgstr "Activez Twitter Card"
|
977 |
|
978 |
-
#: inc/admin/admin.php:
|
979 |
msgid "Default Twitter Image"
|
980 |
msgstr "Image Twitter par défaut"
|
981 |
|
982 |
-
#: inc/admin/admin.php:
|
983 |
msgid "Image size for Twitter Summary card"
|
984 |
msgstr "Taille d'image pour Twitter Summary Card"
|
985 |
|
986 |
-
#: inc/admin/admin.php:
|
987 |
msgid "Enable Google Analytics tracking"
|
988 |
msgstr "Activer le suivi Google Analytics"
|
989 |
|
990 |
-
#: inc/admin/admin.php:
|
991 |
msgid "Enter your tracking ID"
|
992 |
msgstr "Saisissez votre ID de suivi"
|
993 |
|
994 |
-
#: inc/admin/admin.php:
|
995 |
msgid "Exclude user roles from tracking"
|
996 |
msgstr "Exclure des rôles utilisateurs du suivi"
|
997 |
|
998 |
-
#: inc/admin/admin.php:
|
999 |
msgid "Enable remarketing, demographics and interest reporting"
|
1000 |
msgstr ""
|
1001 |
"Activer le remarketing, les rapports démographiques et centres d'intérêts"
|
1002 |
|
1003 |
-
#: inc/admin/admin.php:
|
1004 |
msgid "Enable IP Anonymization"
|
1005 |
msgstr "Activer l'anonymisation des IP"
|
1006 |
|
1007 |
-
#: inc/admin/admin.php:
|
1008 |
msgid "Enhanced Link Attribution"
|
1009 |
msgstr "Améliorer l'attribution des liens"
|
1010 |
|
1011 |
-
#: inc/admin/admin.php:
|
1012 |
msgid "Enable cross-domain tracking"
|
1013 |
msgstr "Activer le suivi cross-domain"
|
1014 |
|
1015 |
-
#: inc/admin/admin.php:
|
1016 |
msgid "Cross domains"
|
1017 |
msgstr "Cross domains"
|
1018 |
|
1019 |
-
#: inc/admin/admin.php:
|
1020 |
msgid "Track Authors"
|
1021 |
msgstr "Suivre les Auteurs"
|
1022 |
|
1023 |
-
#: inc/admin/admin.php:
|
1024 |
msgid "Track Categories"
|
1025 |
msgstr "Suivre les Catégories"
|
1026 |
|
1027 |
-
#: inc/admin/admin.php:
|
1028 |
msgid "Track Tags"
|
1029 |
msgstr "Suivre les Etiquettes"
|
1030 |
|
1031 |
-
#: inc/admin/admin.php:
|
1032 |
msgid "Track Post Types"
|
1033 |
msgstr "Suivre les Types d'articles personnalisés"
|
1034 |
|
1035 |
-
#: inc/admin/admin.php:
|
1036 |
msgid "Track Logged In Users"
|
1037 |
msgstr "Suivre les utilisateurs connectés"
|
1038 |
|
1039 |
-
#: inc/admin/admin.php:
|
1040 |
msgid "Redirect attachment pages to post parent"
|
1041 |
msgstr ""
|
1042 |
"Rediriger les pages de type pièces jointes vers la page parent (attachment)"
|
1043 |
|
1044 |
-
#: inc/admin/admin.php:
|
1045 |
msgid "Remove stop words from URL"
|
1046 |
msgstr "Supprimer les mots inutiles des URL"
|
1047 |
|
1048 |
-
#: inc/admin/admin.php:
|
1049 |
msgid "Remove /category/ in URL"
|
1050 |
msgstr "Supprimer /category/ dans les URLs"
|
1051 |
|
1052 |
-
#: inc/admin/admin.php:
|
1053 |
msgid "Google site verification"
|
1054 |
msgstr "Vérification de site Google"
|
1055 |
|
1056 |
-
#: inc/admin/admin.php:
|
1057 |
msgid "Bing site verification"
|
1058 |
msgstr "Vérification de site Bing"
|
1059 |
|
1060 |
-
#: inc/admin/admin.php:
|
1061 |
msgid "Pinterest site verification"
|
1062 |
msgstr "Vérification de site Pinterest :"
|
1063 |
|
1064 |
-
#: inc/admin/admin.php:
|
1065 |
msgid "Yandex site verification"
|
1066 |
msgstr "Vérification de site Yandex"
|
1067 |
|
1068 |
-
#: inc/admin/admin.php:
|
1069 |
msgid "SEOPress in admin bar"
|
1070 |
msgstr "SEOPress dans la barre d’admin"
|
1071 |
|
1072 |
-
#: inc/admin/admin.php:
|
1073 |
msgid "Hide SEOPress Notifications Center"
|
1074 |
msgstr "Cacher le Centre de Notifications SEOPress"
|
1075 |
|
1076 |
-
#: inc/admin/admin.php:
|
1077 |
msgid "Show Title tag column in post types"
|
1078 |
msgstr "Afficher la balise Titre dans les colonnes des articles personnalisés"
|
1079 |
|
1080 |
-
#: inc/admin/admin.php:
|
1081 |
msgid "Show Meta description column in post types"
|
1082 |
msgstr ""
|
1083 |
"Afficher la meta description dans les colonnes des articles personnalisés"
|
1084 |
|
1085 |
-
#: inc/admin/admin.php:
|
1086 |
msgid "Show noindex column in post types"
|
1087 |
msgstr "Afficher la colonne noindex dans les types d'articles"
|
1088 |
|
1089 |
-
#: inc/admin/admin.php:
|
1090 |
msgid "Show nofollow column in post types"
|
1091 |
msgstr "Afficher la colonne nofollow dans les types d'articles"
|
1092 |
|
1093 |
-
#: inc/admin/admin.php:
|
|
|
|
|
|
|
|
|
1094 |
msgid "<p>Customize your titles & metas for homepage</p>"
|
1095 |
msgstr "<p>Personnalisez vos titres et métas pour l'accueil</p>"
|
1096 |
|
1097 |
-
#: inc/admin/admin.php:
|
1098 |
msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
|
1099 |
msgstr ""
|
1100 |
"<p>Personnalisez vos titres et métas pour les singles des Types d'article</p>"
|
1101 |
|
1102 |
-
#: inc/admin/admin.php:
|
1103 |
msgid "<p>Customize your metas for all pages</p>"
|
1104 |
msgstr "<p>Personnalisez vos métas pour toutes les pages</p>"
|
1105 |
|
1106 |
-
#: inc/admin/admin.php:
|
1107 |
msgid "<p>Customize your metas for all taxonomies archives</p>"
|
1108 |
msgstr "<p>Personnalisez vos métas pour toutes les archives de taxonomies</p>"
|
1109 |
|
1110 |
-
#: inc/admin/admin.php:
|
1111 |
msgid "<p>Customize your metas for all archives</p>"
|
1112 |
msgstr "<p>Personnalisez vos métas pour les archives</p>"
|
1113 |
|
1114 |
-
#: inc/admin/admin.php:
|
1115 |
msgid ""
|
1116 |
"To view your sitemap, enable permalinks (not default one), and save settings "
|
1117 |
"to flush them."
|
@@ -1119,467 +1155,472 @@ msgstr ""
|
|
1119 |
"Pour voir votre sitemap, activez les permaliens (pas ceux par défaut), et "
|
1120 |
"sauvegardez les paramètres pour les mettre à jour."
|
1121 |
|
1122 |
-
#: inc/admin/admin.php:
|
1123 |
msgid ""
|
1124 |
"Only the last 1000 items are listed in Sitemaps for performances issues."
|
1125 |
msgstr ""
|
1126 |
"Seuls les 1000 derniers éléments sont répertoriés dans les Sitemaps pour des "
|
1127 |
"raisons de performances."
|
1128 |
|
1129 |
-
#: inc/admin/admin.php:
|
1130 |
msgid "View your sitemap"
|
1131 |
msgstr "Voir votre sitemap"
|
1132 |
|
1133 |
-
#: inc/admin/admin.php:
|
1134 |
msgid "Ping Google manually"
|
1135 |
msgstr "Pinger Google manuellement"
|
1136 |
|
1137 |
-
#: inc/admin/admin.php:
|
1138 |
msgid "Flush permalinks"
|
1139 |
msgstr "Mettre à jour les permaliens"
|
1140 |
|
1141 |
-
#: inc/admin/admin.php:
|
1142 |
msgid "<p>Create an HTML for your visitors and boost your SEO</p>"
|
1143 |
msgstr ""
|
1144 |
"<p>Créez un plan de site HTML pour vos visiteurs et boostez votre SEO</p>"
|
1145 |
|
1146 |
-
#: inc/admin/admin.php:
|
1147 |
msgid "<p>Include / Exclude Post Types</p>"
|
1148 |
msgstr "<p>Inclure / Exclure les Types d'article</p>"
|
1149 |
|
1150 |
-
#: inc/admin/admin.php:
|
1151 |
msgid "<p>Include / Exclude Taxonomies</p>"
|
1152 |
msgstr "<p>Inclure / Exclure les Taxonomies</p>"
|
1153 |
|
1154 |
-
#: inc/admin/admin.php:
|
1155 |
msgid "<p>Configure Google Knowledge Graph</p>"
|
1156 |
msgstr "<p>Configurer Google Knowledge Graph</p>"
|
1157 |
|
1158 |
-
#: inc/admin/admin.php:
|
1159 |
msgid "<p>Link your site with your social accounts</p>"
|
1160 |
msgstr "<p>Lier votre site à vos comptes sociaux</p>"
|
1161 |
|
1162 |
-
#: inc/admin/admin.php:
|
1163 |
msgid "<p>Manage Open Graph datas</p>"
|
1164 |
msgstr "<p>Gérer l'Open Graph datas</p>"
|
1165 |
|
1166 |
-
#: inc/admin/admin.php:
|
1167 |
msgid "<p>Manage your Twitter card</p>"
|
1168 |
msgstr "<p>Gérer votre Twitter card</p>"
|
1169 |
|
1170 |
-
#: inc/admin/admin.php:
|
1171 |
msgid "<p>Link your Google Analytics to your website</p>"
|
1172 |
msgstr "<p>Lier Google Analytics à votre site</p>"
|
1173 |
|
1174 |
-
#: inc/admin/admin.php:
|
1175 |
msgid "<p>Configure your Google Analytics tracking code</p>"
|
1176 |
msgstr "<p>Configurer votre code de suivi Google Analytics</p>"
|
1177 |
|
1178 |
-
#: inc/admin/admin.php:
|
1179 |
msgid "<p>Configure your Google Analytics custom dimensions"
|
1180 |
msgstr "<p>Configurer vos dimensions personnalisées pour Google Analytics"
|
1181 |
|
1182 |
-
#: inc/admin/admin.php:
|
1183 |
msgid "<p>Advanced SEO options</p>"
|
1184 |
msgstr "<p>Options avancées de SEO</p>"
|
1185 |
|
1186 |
-
#: inc/admin/admin.php:
|
1187 |
msgid "<p>Customize SEOPress to fit your needs</p>"
|
1188 |
msgstr "<p>Personnaliser SEOPress pour correspondre à vos besoins</p>"
|
1189 |
|
1190 |
-
#: inc/admin/admin.php:
|
1191 |
msgid "My awesome website"
|
1192 |
msgstr "Mon super site"
|
1193 |
|
1194 |
-
#: inc/admin/admin.php:
|
1195 |
-
#: inc/admin/admin.php:
|
1196 |
-
#: inc/admin/admin.php:
|
1197 |
-
#: inc/admin/admin.php:
|
1198 |
msgid "More tags"
|
1199 |
msgstr "Plus de balises"
|
1200 |
|
1201 |
-
#: inc/admin/admin.php:
|
1202 |
msgid "This is a cool website about Wookiees"
|
1203 |
msgstr "Un site cool sur les Wookies"
|
1204 |
|
1205 |
-
#: inc/admin/admin.php:
|
1206 |
-
#: inc/admin/admin.php:
|
1207 |
-
#: inc/admin/admin.php:
|
1208 |
msgid "Title template"
|
1209 |
msgstr "Template de Titre"
|
1210 |
|
1211 |
-
#: inc/admin/admin.php:
|
1212 |
msgid "Post Title"
|
1213 |
msgstr "Titre du post"
|
1214 |
|
1215 |
-
#: inc/admin/admin.php:
|
1216 |
-
#: inc/admin/admin.php:
|
1217 |
-
#: inc/admin/admin.php:
|
1218 |
msgid "Meta description template"
|
1219 |
msgstr "Template de Méta Description"
|
1220 |
|
1221 |
-
#: inc/admin/admin.php:
|
1222 |
msgid "Display date in Google search results?"
|
1223 |
msgstr "Afficher la date dans les résultats de recherche Google ?"
|
1224 |
|
1225 |
-
#: inc/admin/admin.php:
|
1226 |
msgid "Category Title"
|
1227 |
msgstr "Titre de catégorie"
|
1228 |
|
1229 |
-
#: inc/admin/admin.php:
|
1230 |
msgid "Tag Title"
|
1231 |
msgstr "Titre de l'étiquette"
|
1232 |
|
1233 |
-
#: inc/admin/admin.php:
|
1234 |
msgid "Term Title"
|
1235 |
msgstr "Titre du terme"
|
1236 |
|
1237 |
-
#: inc/admin/admin.php:
|
1238 |
msgid "Category Description"
|
1239 |
msgstr "Description de la catégorie"
|
1240 |
|
1241 |
-
#: inc/admin/admin.php:
|
1242 |
msgid "Tag Description"
|
1243 |
msgstr "Description du tag"
|
1244 |
|
1245 |
-
#: inc/admin/admin.php:
|
1246 |
msgid "Term Description"
|
1247 |
msgstr "Description du terme"
|
1248 |
|
1249 |
-
#: inc/admin/admin.php:
|
1250 |
msgid "Post Type Archive Name"
|
1251 |
msgstr "Nom d'archive du Type d'article"
|
1252 |
|
1253 |
-
#: inc/admin/admin.php:
|
1254 |
msgid "Author archives"
|
1255 |
msgstr "Archives de l'auteur"
|
1256 |
|
1257 |
-
#: inc/admin/admin.php:
|
1258 |
msgid "Date archives"
|
1259 |
msgstr "Archives par date"
|
1260 |
|
1261 |
-
#: inc/admin/admin.php:
|
1262 |
msgid "Archive date"
|
1263 |
msgstr "Date d'archive"
|
1264 |
|
1265 |
-
#: inc/admin/admin.php:
|
1266 |
msgid "Search archives"
|
1267 |
msgstr "Archives de recherche"
|
1268 |
|
1269 |
-
#: inc/admin/admin.php:
|
1270 |
msgid "Search Keywords"
|
1271 |
msgstr "Mots clés recherchés"
|
1272 |
|
1273 |
-
#: inc/admin/admin.php:
|
1274 |
msgid "404 archives"
|
1275 |
msgstr "Page 404"
|
1276 |
|
1277 |
-
#: inc/admin/admin.php:
|
1278 |
msgid "Include"
|
1279 |
msgstr "Inclure"
|
1280 |
|
1281 |
-
#: inc/admin/admin.php:
|
1282 |
msgid "eg: 2, 28, 68"
|
1283 |
msgstr "ex: 2, 28, 68"
|
1284 |
|
1285 |
-
#: inc/admin/admin.php:
|
1286 |
msgid "eg: 13, 8, 38"
|
1287 |
msgstr "ex: 13, 8, 38"
|
1288 |
|
1289 |
-
#: inc/admin/admin.php:
|
1290 |
msgid "Person"
|
1291 |
msgstr "Personne"
|
1292 |
|
1293 |
-
#: inc/admin/admin.php:
|
1294 |
msgid "Organization"
|
1295 |
msgstr "Organisation"
|
1296 |
|
1297 |
-
#: inc/admin/admin.php:
|
1298 |
msgid "eg: Apple"
|
1299 |
msgstr "ex: Apple"
|
1300 |
|
1301 |
-
#: inc/admin/admin.php:
|
1302 |
msgid "Select your logo"
|
1303 |
msgstr "Sélectionnez votre logo"
|
1304 |
|
1305 |
-
#: inc/admin/admin.php:
|
1306 |
msgid "eg: +33123456789 (internationalized version required)"
|
1307 |
msgstr "par exemple: +33123456789 (version internationalisée nécessaire)"
|
1308 |
|
1309 |
-
#: inc/admin/admin.php:
|
1310 |
msgid "Customer support"
|
1311 |
msgstr "Support client"
|
1312 |
|
1313 |
-
#: inc/admin/admin.php:
|
1314 |
msgid "Technical support"
|
1315 |
msgstr "Support technique"
|
1316 |
|
1317 |
-
#: inc/admin/admin.php:
|
1318 |
msgid "Billing support"
|
1319 |
msgstr "Support facturation"
|
1320 |
|
1321 |
-
#: inc/admin/admin.php:
|
1322 |
msgid "Bill payment"
|
1323 |
msgstr "Paiement facturation"
|
1324 |
|
1325 |
-
#: inc/admin/admin.php:
|
1326 |
msgid "Sales"
|
1327 |
msgstr "Ventes"
|
1328 |
|
1329 |
-
#: inc/admin/admin.php:
|
1330 |
msgid "Credit card support"
|
1331 |
msgstr "Support carte de crédit"
|
1332 |
|
1333 |
-
#: inc/admin/admin.php:
|
1334 |
msgid "Emergency"
|
1335 |
msgstr "Urgence"
|
1336 |
|
1337 |
-
#: inc/admin/admin.php:
|
1338 |
msgid "Baggage tracking"
|
1339 |
msgstr "Suivi des bagages"
|
1340 |
|
1341 |
-
#: inc/admin/admin.php:
|
1342 |
msgid "Roadside assistance"
|
1343 |
msgstr "Assistance routière"
|
1344 |
|
1345 |
-
#: inc/admin/admin.php:
|
1346 |
msgid "Package tracking"
|
1347 |
msgstr "Suivi des colis"
|
1348 |
|
1349 |
-
#: inc/admin/admin.php:
|
1350 |
msgid "Toll Free"
|
1351 |
msgstr "Gratuit"
|
1352 |
|
1353 |
-
#: inc/admin/admin.php:
|
1354 |
msgid "Hearing impaired supported"
|
1355 |
msgstr "Support pour les personnes souffrant d'une déficience auditive"
|
1356 |
|
1357 |
-
#: inc/admin/admin.php:
|
1358 |
msgid "eg: https://www.facebook.com/your-page"
|
1359 |
msgstr "ex: https://www.facebook.com/your-page"
|
1360 |
|
1361 |
-
#: inc/admin/admin.php:
|
1362 |
msgid "eg: @wpcloudy"
|
1363 |
msgstr "ex: @wpcloudy"
|
1364 |
|
1365 |
-
#: inc/admin/admin.php:
|
1366 |
msgid "eg: https://plus.google.com/+BenjaminDenis"
|
1367 |
msgstr "ex: https://plus.google.com/+BenjaminDenis"
|
1368 |
|
1369 |
-
#: inc/admin/admin.php:
|
1370 |
msgid "eg: https://pinterest.com/wpbuy/"
|
1371 |
msgstr "ex: https://pinterest.com/wpbuy/"
|
1372 |
|
1373 |
-
#: inc/admin/admin.php:
|
1374 |
msgid "eg: https://www.instagram.com/your-name/"
|
1375 |
msgstr "ex: https://www.instagram.com/your-name/"
|
1376 |
|
1377 |
-
#: inc/admin/admin.php:
|
1378 |
msgid "eg: https://www.youtube.com/channel/UCpQzarWu55UzCIH7-OW6pwA"
|
1379 |
msgstr "ex: https://www.youtube.com/channel/UCpQzarWu55UzCIH7-OW6pwA"
|
1380 |
|
1381 |
-
#: inc/admin/admin.php:
|
1382 |
msgid "eg: https://www.linkedin.com/in/benjamin-denis-70672b3b"
|
1383 |
msgstr "ex: https://www.linkedin.com/in/benjamin-denis-70672b3b"
|
1384 |
|
1385 |
-
#: inc/admin/admin.php:
|
1386 |
msgid "eg: https://myspace.com/your-page"
|
1387 |
msgstr "ex: https://myspace.com/your-page"
|
1388 |
|
1389 |
-
#: inc/admin/admin.php:
|
1390 |
msgid "eg: https://soundcloud.com/michaelmccannmusic"
|
1391 |
msgstr "ex: https://soundcloud.com/michaelmccannmusic"
|
1392 |
|
1393 |
-
#: inc/admin/admin.php:
|
1394 |
msgid "eg: https://your-site.tumblr.com"
|
1395 |
msgstr "ex: https://your-site.tumblr.com"
|
1396 |
|
1397 |
-
#: inc/admin/admin.php:
|
1398 |
msgid "Enable OG data"
|
1399 |
msgstr "Activer les données OG"
|
1400 |
|
1401 |
-
#: inc/admin/admin.php:
|
1402 |
msgid "Enable Twitter card"
|
1403 |
msgstr "Activer Twitter Card"
|
1404 |
|
1405 |
-
#: inc/admin/admin.php:
|
1406 |
msgid "Default"
|
1407 |
msgstr "Défaut"
|
1408 |
|
1409 |
-
#: inc/admin/admin.php:
|
1410 |
msgid "Large"
|
1411 |
msgstr "Grande"
|
1412 |
|
1413 |
-
#: inc/admin/admin.php:
|
1414 |
msgid "Enter your Tracking ID (UA-XXXX-XX)"
|
1415 |
msgstr "Entrer votre ID de tracking (UA-XXXX-XX)"
|
1416 |
|
1417 |
-
#: inc/admin/admin.php:
|
1418 |
msgid "Enter yours domains"
|
1419 |
msgstr "Saisissez vos domaines"
|
1420 |
|
1421 |
-
#: inc/admin/admin.php:
|
1422 |
-
#: inc/admin/admin.php:
|
1423 |
msgid "Custom Dimension #1"
|
1424 |
msgstr "Dimension personnalisée #1"
|
1425 |
|
1426 |
-
#: inc/admin/admin.php:
|
1427 |
-
#: inc/admin/admin.php:
|
1428 |
msgid "Custom Dimension #2"
|
1429 |
msgstr "Dimension personnalisée #2"
|
1430 |
|
1431 |
-
#: inc/admin/admin.php:
|
1432 |
-
#: inc/admin/admin.php:
|
1433 |
msgid "Custom Dimension #3"
|
1434 |
msgstr "Dimension personnalisée #3"
|
1435 |
|
1436 |
-
#: inc/admin/admin.php:
|
1437 |
-
#: inc/admin/admin.php:
|
1438 |
msgid "Custom Dimension #4"
|
1439 |
msgstr "Dimension personnalisée #4"
|
1440 |
|
1441 |
-
#: inc/admin/admin.php:
|
1442 |
-
#: inc/admin/admin.php:
|
1443 |
msgid "Custom Dimension #5"
|
1444 |
msgstr "Dimension personnalisée #5"
|
1445 |
|
1446 |
-
#: inc/admin/admin.php:
|
1447 |
-
#: inc/admin/admin.php:
|
1448 |
msgid "Custom Dimension #6"
|
1449 |
msgstr "Dimension personnalisée #6"
|
1450 |
|
1451 |
-
#: inc/admin/admin.php:
|
1452 |
-
#: inc/admin/admin.php:
|
1453 |
msgid "Custom Dimension #7"
|
1454 |
msgstr "Dimension personnalisée #7"
|
1455 |
|
1456 |
-
#: inc/admin/admin.php:
|
1457 |
-
#: inc/admin/admin.php:
|
1458 |
msgid "Custom Dimension #8"
|
1459 |
msgstr "Dimension personnalisée #8"
|
1460 |
|
1461 |
-
#: inc/admin/admin.php:
|
1462 |
-
#: inc/admin/admin.php:
|
1463 |
msgid "Custom Dimension #9"
|
1464 |
msgstr "Dimension personnalisée #9"
|
1465 |
|
1466 |
-
#: inc/admin/admin.php:
|
1467 |
-
#: inc/admin/admin.php:
|
1468 |
msgid "Custom Dimension #10"
|
1469 |
msgstr "Dimension personnalisée #10"
|
1470 |
|
1471 |
-
#: inc/admin/admin.php:
|
1472 |
-
#: inc/admin/admin.php:
|
1473 |
msgid "Custom Dimension #11"
|
1474 |
msgstr "Dimension personnalisée #11"
|
1475 |
|
1476 |
-
#: inc/admin/admin.php:
|
1477 |
-
#: inc/admin/admin.php:
|
1478 |
msgid "Custom Dimension #12"
|
1479 |
msgstr "Dimension personnalisée #12"
|
1480 |
|
1481 |
-
#: inc/admin/admin.php:
|
1482 |
-
#: inc/admin/admin.php:
|
1483 |
msgid "Custom Dimension #13"
|
1484 |
msgstr "Dimension personnalisée #13"
|
1485 |
|
1486 |
-
#: inc/admin/admin.php:
|
1487 |
-
#: inc/admin/admin.php:
|
1488 |
msgid "Custom Dimension #14"
|
1489 |
msgstr "Dimension personnalisée #14"
|
1490 |
|
1491 |
-
#: inc/admin/admin.php:
|
1492 |
-
#: inc/admin/admin.php:
|
1493 |
msgid "Custom Dimension #15"
|
1494 |
msgstr "Dimension personnalisée #15"
|
1495 |
|
1496 |
-
#: inc/admin/admin.php:
|
1497 |
-
#: inc/admin/admin.php:
|
1498 |
msgid "Custom Dimension #16"
|
1499 |
msgstr "Dimension personnalisée #16"
|
1500 |
|
1501 |
-
#: inc/admin/admin.php:
|
1502 |
-
#: inc/admin/admin.php:
|
1503 |
msgid "Custom Dimension #17"
|
1504 |
msgstr "Dimension personnalisée #17"
|
1505 |
|
1506 |
-
#: inc/admin/admin.php:
|
1507 |
-
#: inc/admin/admin.php:
|
1508 |
msgid "Custom Dimension #18"
|
1509 |
msgstr "Dimension personnalisée #18"
|
1510 |
|
1511 |
-
#: inc/admin/admin.php:
|
1512 |
-
#: inc/admin/admin.php:
|
1513 |
msgid "Custom Dimension #19"
|
1514 |
msgstr "Dimension personnalisée #19"
|
1515 |
|
1516 |
-
#: inc/admin/admin.php:
|
1517 |
-
#: inc/admin/admin.php:
|
1518 |
msgid "Custom Dimension #20"
|
1519 |
msgstr "Dimension personnalisée #20"
|
1520 |
|
1521 |
-
#: inc/admin/admin.php:
|
1522 |
msgid "Redirect attachment pages to post parent (or homepage if none)"
|
1523 |
msgstr ""
|
1524 |
"Rediriger les pages de pièces jointes vers le post parent (si aucun, "
|
1525 |
"rediriger vers page d'accueil)"
|
1526 |
|
1527 |
-
#: inc/admin/admin.php:
|
1528 |
msgid "Remove stop words in permalinks"
|
1529 |
msgstr "Supprimer les mots clés inutiles des permaliens"
|
1530 |
|
1531 |
-
#: inc/admin/admin.php:
|
1532 |
msgid ""
|
1533 |
"Setting based on site language. Supported language EN, FR, ES, DE, IT, PT."
|
1534 |
msgstr ""
|
1535 |
"Réglage basé sur la langue du site. Langue prise en charge EN, FR, ES, DE, "
|
1536 |
"IT, PT."
|
1537 |
|
1538 |
-
#: inc/admin/admin.php:
|
1539 |
msgid "Remove /category/ in your permalinks"
|
1540 |
msgstr "Supprimer /category/ dans vos permaliens"
|
1541 |
|
1542 |
-
#: inc/admin/admin.php:
|
1543 |
msgid "Enter Google meta value site verification"
|
1544 |
msgstr "Entrer la meta de vérification de site Google"
|
1545 |
|
1546 |
-
#: inc/admin/admin.php:
|
1547 |
msgid "Enter Bing meta value site verification"
|
1548 |
msgstr "Entrer la meta de vérification de site Bing"
|
1549 |
|
1550 |
-
#: inc/admin/admin.php:
|
1551 |
msgid "Enter Pinterest meta value site verification"
|
1552 |
msgstr "Entrer la meta de vérification de site Pinterest"
|
1553 |
|
1554 |
-
#: inc/admin/admin.php:
|
1555 |
msgid "Enter Yandex meta value site verification"
|
1556 |
msgstr "Entrer la meta de vérification de site Yandex"
|
1557 |
|
1558 |
-
#: inc/admin/admin.php:
|
1559 |
msgid "Remove SEOPress from Admin Bar in backend"
|
1560 |
msgstr "Supprimer SEOPress de la barre d'outils dans l'administration"
|
1561 |
|
1562 |
-
#: inc/admin/admin.php:
|
1563 |
msgid "Hide Notifications Center in SEOPress Dashboard page"
|
1564 |
msgstr "Masquer le Centre de Notifications du Tableau de Bord de SEOPress"
|
1565 |
|
1566 |
-
#: inc/admin/admin.php:
|
1567 |
msgid "Add title column"
|
1568 |
msgstr "Ajouter la colonne Titre"
|
1569 |
|
1570 |
-
#: inc/admin/admin.php:
|
1571 |
msgid "Add meta description column"
|
1572 |
msgstr "Ajouter la colonne meta description"
|
1573 |
|
1574 |
-
#: inc/admin/admin.php:
|
1575 |
msgid "Display noindex status"
|
1576 |
msgstr "Affiche le statut noindex"
|
1577 |
|
1578 |
-
#: inc/admin/admin.php:
|
1579 |
msgid "Display nofollow status"
|
1580 |
msgstr "Affiche le statut nofollow"
|
1581 |
|
|
|
|
|
|
|
|
|
1582 |
#: inc/functions/options-advanced-admin.php:77
|
|
|
1583 |
msgid "Title tag"
|
1584 |
msgstr "Balise Titre"
|
1585 |
|
@@ -1595,6 +1636,22 @@ msgstr "Noindex ?"
|
|
1595 |
msgid "Nofollow?"
|
1596 |
msgstr "Nofollow ?"
|
1597 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1598 |
#: inc/functions/options-import-export.php:48
|
1599 |
msgid "Please upload a valid .json file"
|
1600 |
msgstr "Veuillez uploader un fichier JSON valide"
|
@@ -1603,15 +1660,15 @@ msgstr "Veuillez uploader un fichier JSON valide"
|
|
1603 |
msgid "Please upload a file to import"
|
1604 |
msgstr "Uploader un fichier à importer SVP"
|
1605 |
|
1606 |
-
#: seopress.php:
|
1607 |
msgid "Settings"
|
1608 |
msgstr "Paramètres"
|
1609 |
|
1610 |
-
#: seopress.php:
|
1611 |
msgid "SEOPress.org"
|
1612 |
msgstr "SEOPress.org"
|
1613 |
|
1614 |
-
#: seopress.php:
|
1615 |
msgid "GO PRO!"
|
1616 |
msgstr "PASSEZ PRO !"
|
1617 |
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: SEOPress\n"
|
4 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
|
5 |
+
"POT-Creation-Date: 2017-01-31 19:22+0100\n"
|
6 |
+
"PO-Revision-Date: 2017-01-31 19:25+0100\n"
|
7 |
"Last-Translator: \n"
|
8 |
"Language-Team: Benjamin DENIS <contact@seopress.org>\n"
|
9 |
"Language: fr_FR\n"
|
34 |
msgstr "Support"
|
35 |
|
36 |
#: inc/admin/admin-metaboxes.php:11 inc/admin/admin-metaboxes.php:13
|
37 |
+
#: inc/admin/adminbar.php:16 inc/functions/options-advanced-admin.php:461
|
38 |
msgid "SEO"
|
39 |
msgstr "SEO"
|
40 |
|
41 |
+
#: inc/admin/admin-metaboxes.php:108
|
42 |
msgid "Titles settings"
|
43 |
msgstr "Paramètres de titres"
|
44 |
|
45 |
+
#: inc/admin/admin-metaboxes.php:109 inc/admin/admin.php:176
|
46 |
+
#: inc/admin/admin.php:242 inc/admin/admin.php:418 inc/admin/admin.php:887
|
47 |
#: inc/admin/adminbar.php:46
|
48 |
msgid "Advanced"
|
49 |
msgstr "Avancé"
|
50 |
|
51 |
+
#: inc/admin/admin-metaboxes.php:110 inc/admin/admin.php:174
|
52 |
+
#: inc/admin/admin.php:829 inc/admin/adminbar.php:34
|
53 |
msgid "Social"
|
54 |
msgstr "Social"
|
55 |
|
56 |
+
#: inc/admin/admin-metaboxes.php:112 inc/admin/admin.php:1097
|
57 |
msgid "Redirections"
|
58 |
msgstr "Redirections"
|
59 |
|
60 |
+
#: inc/admin/admin-metaboxes.php:115
|
61 |
msgid "Google News"
|
62 |
msgstr "Google News"
|
63 |
|
64 |
+
#: inc/admin/admin-metaboxes.php:124
|
65 |
msgid "Title"
|
66 |
msgstr "Titre"
|
67 |
|
68 |
+
#: inc/admin/admin-metaboxes.php:125
|
69 |
msgid "Enter your title"
|
70 |
msgstr "Entrez votre titre"
|
71 |
|
72 |
+
#: inc/admin/admin-metaboxes.php:129 inc/admin/admin-metaboxes.php:137
|
73 |
msgid "(maximum recommended limit)"
|
74 |
msgstr "(limite maximale recommandée)"
|
75 |
|
76 |
+
#: inc/admin/admin-metaboxes.php:132 inc/admin/admin.php:486
|
77 |
+
#: inc/admin/admin.php:1228 inc/functions/options-advanced-admin.php:471
|
78 |
msgid "Meta description"
|
79 |
msgstr "Meta description"
|
80 |
|
81 |
+
#: inc/admin/admin-metaboxes.php:133
|
82 |
msgid "Enter your meta description"
|
83 |
msgstr "Entrez votre méta description"
|
84 |
|
85 |
+
#: inc/admin/admin-metaboxes.php:142
|
86 |
msgid "Google Snippet Preview"
|
87 |
msgstr "Aperçu Google Snippet"
|
88 |
|
89 |
+
#: inc/admin/admin-metaboxes.php:143
|
90 |
msgid "This is what your page will look like in Google search results"
|
91 |
msgstr ""
|
92 |
"Voilà à quoi ressemblera votre page dans les résultats de recherche Google"
|
93 |
|
94 |
+
#: inc/admin/admin-metaboxes.php:159 inc/admin/admin.php:1386
|
95 |
+
#: inc/admin/admin.php:2219 inc/admin/admin.php:2352 inc/admin/admin.php:2442
|
96 |
+
#: inc/admin/admin.php:2515 inc/admin/admin.php:2564 inc/admin/admin.php:2644
|
97 |
msgid "noindex"
|
98 |
msgstr "noindex"
|
99 |
|
100 |
+
#: inc/admin/admin-metaboxes.php:160 inc/admin/admin.php:2646
|
101 |
msgid ""
|
102 |
"Do not display all pages of the site in Google search results and do not "
|
103 |
"display \"Cached\" links in search results."
|
105 |
"Ne pas afficher toutes les pages du site dans les résultats de recherche "
|
106 |
"<br>et ne pas afficher de lien \"En cache\" dans les résultats de recherche."
|
107 |
|
108 |
+
#: inc/admin/admin-metaboxes.php:165 inc/admin/admin.php:1394
|
109 |
+
#: inc/admin/admin.php:2238 inc/admin/admin.php:2371 inc/admin/admin.php:2461
|
110 |
+
#: inc/admin/admin.php:2663
|
111 |
msgid "nofollow"
|
112 |
msgstr "nofollow"
|
113 |
|
114 |
+
#: inc/admin/admin-metaboxes.php:166 inc/admin/admin.php:2665
|
115 |
msgid "Do not follow links for all pages."
|
116 |
msgstr "Ne pas suivre les liens de tout le site."
|
117 |
|
118 |
+
#: inc/admin/admin-metaboxes.php:171 inc/admin/admin.php:1402
|
119 |
+
#: inc/admin/admin.php:2682
|
120 |
msgid "noodp"
|
121 |
msgstr "noodp"
|
122 |
|
123 |
+
#: inc/admin/admin-metaboxes.php:172 inc/admin/admin.php:2684
|
124 |
msgid ""
|
125 |
"Do not use Open Directory project metadata for titles or excerpts for all "
|
126 |
"pages."
|
128 |
"Ne pas utiliser les métadonnées de l'Open Directory project pour les titres "
|
129 |
"ou les extraits de tout le site."
|
130 |
|
131 |
+
#: inc/admin/admin-metaboxes.php:177 inc/admin/admin.php:1410
|
132 |
+
#: inc/admin/admin.php:2701
|
133 |
msgid "noimageindex"
|
134 |
msgstr "noimageindex"
|
135 |
|
136 |
+
#: inc/admin/admin-metaboxes.php:178 inc/admin/admin.php:2703
|
137 |
msgid "Do not index images from the entire site."
|
138 |
msgstr "Ne pas indexer les images de tout le site."
|
139 |
|
140 |
+
#: inc/admin/admin-metaboxes.php:183 inc/admin/admin.php:1418
|
141 |
+
#: inc/admin/admin.php:2720
|
142 |
msgid "noarchive"
|
143 |
msgstr "noarchive"
|
144 |
|
145 |
+
#: inc/admin/admin-metaboxes.php:184 inc/admin/admin.php:2722
|
146 |
msgid "Do not display a \"Cached\" link in the Google search results."
|
147 |
msgstr "Ne pas afficher de lien \"En cache\" dans les résultats de recherche."
|
148 |
|
149 |
+
#: inc/admin/admin-metaboxes.php:189 inc/admin/admin.php:1426
|
150 |
+
#: inc/admin/admin.php:2739
|
151 |
msgid "nosnippet"
|
152 |
msgstr "nosnippet"
|
153 |
|
154 |
+
#: inc/admin/admin-metaboxes.php:190 inc/admin/admin.php:2741
|
155 |
msgid ""
|
156 |
"Do not display a description in the Google search results for all pages."
|
157 |
msgstr ""
|
158 |
"Ne pas afficher de description dans les résultats de recherche pour toutes "
|
159 |
"les pages du site."
|
160 |
|
161 |
+
#: inc/admin/admin-metaboxes.php:193 inc/admin/admin.php:490
|
162 |
msgid "Canonical URL"
|
163 |
msgstr "URL Canonique"
|
164 |
|
165 |
+
#: inc/admin/admin-metaboxes.php:194
|
166 |
msgid "Default value: "
|
167 |
msgstr "Valeur par défaut: "
|
168 |
|
169 |
+
#: inc/admin/admin-metaboxes.php:200
|
170 |
msgid "Facebook Title"
|
171 |
msgstr "Titre Facebook"
|
172 |
|
173 |
+
#: inc/admin/admin-metaboxes.php:201
|
174 |
msgid "Enter your Facebook title"
|
175 |
msgstr "Entrez votre titre Facebook"
|
176 |
|
177 |
+
#: inc/admin/admin-metaboxes.php:204
|
178 |
msgid "Facebook description"
|
179 |
msgstr "Description Facebook"
|
180 |
|
181 |
+
#: inc/admin/admin-metaboxes.php:205
|
182 |
msgid "Enter your Facebook description"
|
183 |
msgstr "Entrez votre description Facebook"
|
184 |
|
185 |
+
#: inc/admin/admin-metaboxes.php:208
|
186 |
msgid "Facebook Thumbnail"
|
187 |
msgstr "Miniature Facebook"
|
188 |
|
189 |
+
#: inc/admin/admin-metaboxes.php:209
|
190 |
msgid "Minimum size: 200x200px"
|
191 |
msgstr "Taille minimum : 200x200px"
|
192 |
|
193 |
+
#: inc/admin/admin-metaboxes.php:210 inc/admin/admin-metaboxes.php:226
|
194 |
+
#: inc/admin/admin.php:3137 inc/admin/admin.php:3189
|
195 |
msgid "Select your default thumbnail"
|
196 |
msgstr "Sélectionnez votre miniature par défaut"
|
197 |
|
198 |
+
#: inc/admin/admin-metaboxes.php:211 inc/admin/admin-metaboxes.php:227
|
199 |
+
#: inc/admin/admin.php:2920 inc/admin/admin.php:3139 inc/admin/admin.php:3191
|
200 |
msgid "Upload an Image"
|
201 |
msgstr "Envoyer une image"
|
202 |
|
203 |
+
#: inc/admin/admin-metaboxes.php:216
|
204 |
msgid "Twitter Title"
|
205 |
msgstr "Titre Twitter"
|
206 |
|
207 |
+
#: inc/admin/admin-metaboxes.php:217
|
208 |
msgid "Enter your Twitter title"
|
209 |
msgstr "Entrez votre titre Twitter"
|
210 |
|
211 |
+
#: inc/admin/admin-metaboxes.php:220
|
212 |
msgid "Twitter description"
|
213 |
msgstr "Description Twitter"
|
214 |
|
215 |
+
#: inc/admin/admin-metaboxes.php:221
|
216 |
msgid "Enter your Twitter description"
|
217 |
msgstr "Entrez votre description Twitter"
|
218 |
|
219 |
+
#: inc/admin/admin-metaboxes.php:224
|
220 |
msgid "Twitter Thumbnail"
|
221 |
msgstr "Miniature Twitter"
|
222 |
|
223 |
+
#: inc/admin/admin-metaboxes.php:225
|
224 |
msgid "Minimum size: 160x160px"
|
225 |
msgstr "Taille minimum : 160x160px"
|
226 |
|
227 |
+
#: inc/admin/admin-metaboxes.php:236
|
228 |
msgid "Enable redirection?"
|
229 |
msgstr "Activer la redirection ?"
|
230 |
|
231 |
+
#: inc/admin/admin-metaboxes.php:240
|
232 |
msgid "URL redirection"
|
233 |
msgstr "URL de redirection"
|
234 |
|
235 |
+
#: inc/admin/admin-metaboxes.php:242
|
236 |
msgid "301"
|
237 |
msgstr "301"
|
238 |
|
239 |
+
#: inc/admin/admin-metaboxes.php:243
|
240 |
msgid "302"
|
241 |
msgstr "302"
|
242 |
|
243 |
+
#: inc/admin/admin-metaboxes.php:244
|
244 |
msgid "307"
|
245 |
msgstr "307"
|
246 |
|
247 |
+
#: inc/admin/admin-metaboxes.php:246
|
248 |
msgid "Enter your URL"
|
249 |
msgstr "Saisissez votre URL"
|
250 |
|
251 |
+
#: inc/admin/admin-metaboxes.php:249 inc/admin/admin-metaboxes.php:251
|
252 |
msgid "Test your URL"
|
253 |
msgstr "Tester votre URL"
|
254 |
|
255 |
+
#: inc/admin/admin-metaboxes.php:260
|
256 |
msgid "Exclude this post from Google News Sitemap?"
|
257 |
msgstr "Exclure cet article du sitemap Google News ?"
|
258 |
|
259 |
+
#: inc/admin/admin-metaboxes.php:264
|
260 |
msgid "Google News Genres"
|
261 |
msgstr "Genres Google News"
|
262 |
|
263 |
+
#: inc/admin/admin-metaboxes.php:266 inc/admin/admin.php:3357
|
264 |
+
#: inc/admin/admin.php:3434 inc/admin/admin.php:3511 inc/admin/admin.php:3588
|
265 |
+
#: inc/admin/admin.php:3665
|
266 |
msgid "None"
|
267 |
msgstr "Aucun"
|
268 |
|
269 |
+
#: inc/admin/admin-metaboxes.php:267
|
270 |
msgid "Press Release"
|
271 |
msgstr "Press Release"
|
272 |
|
273 |
+
#: inc/admin/admin-metaboxes.php:268
|
274 |
msgid "Satire"
|
275 |
msgstr "Satire"
|
276 |
|
277 |
+
#: inc/admin/admin-metaboxes.php:269
|
278 |
msgid "Blog"
|
279 |
msgstr "Blog"
|
280 |
|
281 |
+
#: inc/admin/admin-metaboxes.php:270
|
282 |
msgid "OpEd"
|
283 |
msgstr "OpEd"
|
284 |
|
285 |
+
#: inc/admin/admin-metaboxes.php:271
|
286 |
msgid "Opinion"
|
287 |
msgstr "Opinion"
|
288 |
|
289 |
+
#: inc/admin/admin-metaboxes.php:272
|
290 |
msgid "UserGenerated"
|
291 |
msgstr "UserGenerated"
|
292 |
|
293 |
+
#: inc/admin/admin-metaboxes.php:277
|
294 |
msgid "Google News Keywords <em>(max recommended limit: 12)</em>"
|
295 |
msgstr "Mots clés Google News <em>(limite max recommandée: 12)</em>"
|
296 |
|
297 |
+
#: inc/admin/admin-metaboxes.php:278
|
298 |
msgid "Enter your Google News Keywords"
|
299 |
msgstr "Entrez vos mots clés Google News"
|
300 |
|
302 |
msgid "404 - Page not found"
|
303 |
msgstr "404 - Page non trouvée"
|
304 |
|
305 |
+
#: inc/admin/admin.php:172 inc/admin/adminbar.php:22
|
306 |
msgid "Titles & Metas"
|
307 |
msgstr "Titres et Métas"
|
308 |
|
309 |
+
#: inc/admin/admin.php:173 inc/admin/admin.php:800 inc/admin/adminbar.php:28
|
310 |
msgid "XML / HTML Sitemap"
|
311 |
msgstr "Sitemap XML / HTML"
|
312 |
|
313 |
+
#: inc/admin/admin.php:175 inc/admin/admin.php:858 inc/admin/adminbar.php:40
|
314 |
msgid "Google Analytics"
|
315 |
msgstr "Google Analytics"
|
316 |
|
317 |
+
#: inc/admin/admin.php:177
|
318 |
msgid "Import / Export / Reset settings"
|
319 |
msgstr "Import / Export / Réinitialisation des paramètres"
|
320 |
|
321 |
+
#: inc/admin/admin.php:177 inc/admin/admin.php:1138 inc/admin/adminbar.php:52
|
322 |
msgid "Import / Export / Reset"
|
323 |
msgstr "Importer / Exporter / Réinitialiser"
|
324 |
|
325 |
+
#: inc/admin/admin.php:184
|
326 |
#, php-format
|
327 |
msgid "%%sitetitle%%"
|
328 |
msgstr "%%sitetitle%%"
|
329 |
|
330 |
+
#: inc/admin/admin.php:184 inc/admin/admin.php:2142 inc/admin/admin.php:2189
|
331 |
+
#: inc/admin/admin.php:2304 inc/admin/admin.php:2412 inc/admin/admin.php:2486
|
332 |
+
#: inc/admin/admin.php:2536 inc/admin/admin.php:2585 inc/admin/admin.php:2615
|
333 |
msgid "Site Title"
|
334 |
msgstr "Titre du Site"
|
335 |
|
336 |
+
#: inc/admin/admin.php:185
|
337 |
#, php-format
|
338 |
msgid "%%tagline%%"
|
339 |
msgstr "%%tagline%%"
|
340 |
|
341 |
+
#: inc/admin/admin.php:185 inc/admin/admin.php:2143 inc/admin/admin.php:2154
|
342 |
msgid "Tagline"
|
343 |
msgstr "Slogan du site"
|
344 |
|
345 |
+
#: inc/admin/admin.php:186
|
346 |
#, php-format
|
347 |
msgid "%%post_title%%"
|
348 |
msgstr "%%post_title%%"
|
349 |
|
350 |
+
#: inc/admin/admin.php:186
|
351 |
msgid "Post Title (post, page, custom post type)"
|
352 |
msgstr "Titre du post (article, page, type d'article personnalisé)"
|
353 |
|
354 |
+
#: inc/admin/admin.php:187
|
355 |
#, php-format
|
356 |
msgid "%%post_excerpt%%"
|
357 |
msgstr "%%post_excerpt%%"
|
358 |
|
359 |
+
#: inc/admin/admin.php:187
|
360 |
msgid "Post excerpt"
|
361 |
msgstr "Extrait du post"
|
362 |
|
363 |
+
#: inc/admin/admin.php:188
|
364 |
#, php-format
|
365 |
msgid "%%post_date%%"
|
366 |
msgstr "%%post_date%%"
|
367 |
|
368 |
+
#: inc/admin/admin.php:188
|
369 |
msgid "Post date"
|
370 |
msgstr "Date du post"
|
371 |
|
372 |
+
#: inc/admin/admin.php:189
|
373 |
#, php-format
|
374 |
msgid "%%post_author%%"
|
375 |
msgstr "%%post_author%%"
|
376 |
|
377 |
+
#: inc/admin/admin.php:189 inc/admin/admin.php:2485
|
378 |
msgid "Post author"
|
379 |
msgstr "Auteur du post"
|
380 |
|
381 |
+
#: inc/admin/admin.php:190
|
382 |
#, php-format
|
383 |
msgid "%%_category_title%%"
|
384 |
msgstr "%%_category_title%%"
|
385 |
|
386 |
+
#: inc/admin/admin.php:190
|
387 |
msgid "Category title"
|
388 |
msgstr "Titre de catégorie"
|
389 |
|
390 |
+
#: inc/admin/admin.php:191
|
391 |
#, php-format
|
392 |
msgid "%%_category_description%%"
|
393 |
msgstr "%%_category_description%%"
|
394 |
|
395 |
+
#: inc/admin/admin.php:191
|
396 |
msgid "Category description"
|
397 |
msgstr "Description de la catégorie"
|
398 |
|
399 |
+
#: inc/admin/admin.php:192
|
400 |
#, php-format
|
401 |
msgid "%%tag_title%%"
|
402 |
msgstr "%%tag_title%%"
|
403 |
|
404 |
+
#: inc/admin/admin.php:192
|
405 |
msgid "Tag title"
|
406 |
msgstr "Titre de l'étiquette"
|
407 |
|
408 |
+
#: inc/admin/admin.php:193
|
409 |
#, php-format
|
410 |
msgid "%%tag_description%%"
|
411 |
msgstr "%%tag_description%%"
|
412 |
|
413 |
+
#: inc/admin/admin.php:193
|
414 |
msgid "Tag description"
|
415 |
msgstr "Description de l'étiquette"
|
416 |
|
417 |
+
#: inc/admin/admin.php:194
|
418 |
#, php-format
|
419 |
msgid "%%term_title%%"
|
420 |
msgstr "%%term_title%%"
|
421 |
|
422 |
+
#: inc/admin/admin.php:194
|
423 |
msgid "Term title"
|
424 |
msgstr "Titre du terme"
|
425 |
|
426 |
+
#: inc/admin/admin.php:195
|
427 |
#, php-format
|
428 |
msgid "%%term_description%%"
|
429 |
msgstr "%%term_description%%"
|
430 |
|
431 |
+
#: inc/admin/admin.php:195
|
432 |
msgid "Term description"
|
433 |
msgstr "Description du terme"
|
434 |
|
435 |
+
#: inc/admin/admin.php:196
|
436 |
#, php-format
|
437 |
msgid "%%search_keywords%%"
|
438 |
msgstr "%%search_keywords%%"
|
439 |
|
440 |
+
#: inc/admin/admin.php:196
|
441 |
msgid "Search keywords"
|
442 |
msgstr "Mots clés de recherche"
|
443 |
|
444 |
+
#: inc/admin/admin.php:197
|
445 |
#, php-format
|
446 |
msgid "%%current_pagination%%"
|
447 |
msgstr "%%current_pagination%%"
|
448 |
|
449 |
+
#: inc/admin/admin.php:197
|
450 |
msgid "Current number page"
|
451 |
msgstr "Numéro de page actuel"
|
452 |
|
453 |
+
#: inc/admin/admin.php:198
|
454 |
#, php-format
|
455 |
msgid "%%cpt_plural%%"
|
456 |
msgstr "%%cpt_plural%%"
|
457 |
|
458 |
+
#: inc/admin/admin.php:198
|
459 |
msgid "Plural Post Type Archive name"
|
460 |
msgstr "Nom pluriel archives type d'article personnalisé"
|
461 |
|
462 |
+
#: inc/admin/admin.php:199
|
463 |
#, php-format
|
464 |
msgid "%%date_archive%%"
|
465 |
msgstr "%%date_archive%%"
|
466 |
|
467 |
+
#: inc/admin/admin.php:199
|
468 |
msgid "Date Archive"
|
469 |
msgstr "Date d'archive"
|
470 |
|
471 |
+
#: inc/admin/admin.php:205
|
472 |
msgid "Templates variables"
|
473 |
msgstr "Modèles de variables"
|
474 |
|
475 |
+
#: inc/admin/admin.php:223
|
476 |
msgid ""
|
477 |
"Discourage search engines from indexing this site is <strong>ON!</strong> "
|
478 |
"None of the following settings will be applied."
|
480 |
"Décourager les moteurs de recherche d’indexer ce site est <strong>actif !</"
|
481 |
"strong> Aucun des paramètres suivants ne s’appliqueront."
|
482 |
|
483 |
+
#: inc/admin/admin.php:224
|
484 |
msgid "Change this settings"
|
485 |
msgstr "Changer ce paramètre"
|
486 |
|
487 |
+
#: inc/admin/admin.php:238
|
488 |
msgid "Home"
|
489 |
msgstr "Accueil"
|
490 |
|
491 |
+
#: inc/admin/admin.php:239
|
492 |
msgid "Single Post Types"
|
493 |
msgstr "Détail Types de contenus"
|
494 |
|
495 |
+
#: inc/admin/admin.php:240
|
496 |
msgid "Archives"
|
497 |
msgstr "Archives"
|
498 |
|
499 |
+
#: inc/admin/admin.php:241 inc/admin/admin.php:284
|
500 |
msgid "Taxonomies"
|
501 |
msgstr "Taxonomies"
|
502 |
|
503 |
+
#: inc/admin/admin.php:282 inc/admin/admin.php:366 inc/admin/admin.php:373
|
504 |
msgid "General"
|
505 |
msgstr "Général"
|
506 |
|
507 |
+
#: inc/admin/admin.php:283
|
508 |
msgid "Post Types"
|
509 |
msgstr "Types de contenus"
|
510 |
|
511 |
+
#: inc/admin/admin.php:285
|
512 |
msgid "HTML Sitemap"
|
513 |
msgstr "Sitemap HTML"
|
514 |
|
515 |
+
#: inc/admin/admin.php:323
|
516 |
msgid "Knowledge Graph"
|
517 |
msgstr "Knowledge Graph"
|
518 |
|
519 |
+
#: inc/admin/admin.php:324
|
520 |
msgid "Your social accounts"
|
521 |
msgstr "Vos comptes sociaux"
|
522 |
|
523 |
+
#: inc/admin/admin.php:325
|
524 |
msgid "Facebook"
|
525 |
msgstr "Facebook"
|
526 |
|
527 |
+
#: inc/admin/admin.php:326
|
528 |
msgid "Twitter"
|
529 |
msgstr "Twitter"
|
530 |
|
531 |
+
#: inc/admin/admin.php:367 inc/admin/admin.php:374
|
532 |
msgid "Tracking"
|
533 |
msgstr "Suivi"
|
534 |
|
535 |
+
#: inc/admin/admin.php:368 inc/admin/admin.php:375
|
536 |
msgid "Custom Dimensions"
|
537 |
msgstr "Dimensions personnalisées"
|
538 |
|
539 |
+
#: inc/admin/admin.php:369
|
540 |
+
msgid "Stats in Dashboard"
|
541 |
+
msgstr "Stats dans le Tableau de bord"
|
542 |
+
|
543 |
+
#: inc/admin/admin.php:419
|
544 |
msgid "Appearance"
|
545 |
msgstr "Apparence"
|
546 |
|
547 |
+
#: inc/admin/admin.php:450
|
548 |
msgid "Export Settings"
|
549 |
msgstr "Exporter Paramètres"
|
550 |
|
551 |
+
#: inc/admin/admin.php:452
|
552 |
msgid ""
|
553 |
"Export the plugin settings for this site as a .json file. This allows you to "
|
554 |
"easily import the configuration into another site."
|
557 |
"vous permet d'importer facilement votre configuration dans un autre site "
|
558 |
"WordPress."
|
559 |
|
560 |
+
#: inc/admin/admin.php:457
|
561 |
msgid "Export"
|
562 |
msgstr "Exporter"
|
563 |
|
564 |
+
#: inc/admin/admin.php:464
|
565 |
msgid "Import Settings"
|
566 |
msgstr "Importer Paramètres"
|
567 |
|
568 |
+
#: inc/admin/admin.php:466
|
569 |
msgid ""
|
570 |
"Import the plugin settings from a .json file. This file can be obtained by "
|
571 |
"exporting the settings on another site using the form above."
|
574 |
"être obtenu en exportant les paramètres depuis un autre site en utilisant le "
|
575 |
"formulaire ci-dessus."
|
576 |
|
577 |
+
#: inc/admin/admin.php:474
|
578 |
msgid "Import"
|
579 |
msgstr "Importer"
|
580 |
|
581 |
+
#: inc/admin/admin.php:481
|
582 |
msgid "Import posts metadata from Yoast"
|
583 |
msgstr ""
|
584 |
"Importer les méta données des articles, pages, types d'articles "
|
585 |
"personnalisés depuis Yoast"
|
586 |
|
587 |
+
#: inc/admin/admin.php:483
|
588 |
msgid "By clicking Migrate, we'll import:"
|
589 |
msgstr "En cliquant sur Migrer, vous importerez :"
|
590 |
|
591 |
+
#: inc/admin/admin.php:485
|
592 |
msgid "Title tags"
|
593 |
msgstr "Balises titres"
|
594 |
|
595 |
+
#: inc/admin/admin.php:487
|
596 |
msgid "Facebook Open Graph tags (title, description and image thumbnail)"
|
597 |
msgstr "Balises Facebook Open Graph (titre, description et miniature)"
|
598 |
|
599 |
+
#: inc/admin/admin.php:488
|
600 |
msgid "Twitter tags (title, description and image thumbnail)"
|
601 |
msgstr "Balises Twitter (titre, description et miniature)"
|
602 |
|
603 |
+
#: inc/admin/admin.php:489
|
604 |
msgid "Meta Robots (noindex, nofollow...)"
|
605 |
msgstr "Meta Robots (noindex, nofollow...)"
|
606 |
|
607 |
+
#: inc/admin/admin.php:492
|
608 |
msgid ""
|
609 |
"<strong>WARNING:</strong> Migration will delete all SEOPress posts metadata"
|
610 |
msgstr ""
|
611 |
"<strong>ATTENTION :</strong> La migration supprimera toutes les méta-données "
|
612 |
"de SEOPress"
|
613 |
|
614 |
+
#: inc/admin/admin.php:493
|
615 |
msgid "Migrate now"
|
616 |
msgstr "Migrer maintenant"
|
617 |
|
618 |
+
#: inc/admin/admin.php:500
|
619 |
+
msgid "Reset All Notices From Notifications Center"
|
620 |
+
msgstr "Réinitialiser toutes les notices du Centre de Notifications"
|
621 |
+
|
622 |
+
#: inc/admin/admin.php:502
|
623 |
+
msgid ""
|
624 |
+
"By clicking Reset Notices, you'll see all notices again in notifications "
|
625 |
+
"center."
|
626 |
+
msgstr ""
|
627 |
+
"En cliquant sur Réinitialiser Notices, vous verrez à nouveau les notices "
|
628 |
+
"dans le centre de notifications."
|
629 |
+
|
630 |
+
#: inc/admin/admin.php:507
|
631 |
+
msgid "Reset notices"
|
632 |
+
msgstr "Réinitialiser Notices"
|
633 |
+
|
634 |
+
#: inc/admin/admin.php:514
|
635 |
msgid "Reset All Settings"
|
636 |
msgstr "Tout réinitialiser"
|
637 |
|
638 |
+
#: inc/admin/admin.php:516
|
639 |
msgid ""
|
640 |
"<strong>WARNING:</strong> Delete all options related to SEOPress in your "
|
641 |
"database AND set settings to their default values."
|
643 |
"<strong>AVERTISSEMENT:</strong> Supprime toutes les options liées à SEOPress "
|
644 |
"dans la base de données et redéfini ces derniers à leurs valeurs par défaut."
|
645 |
|
646 |
+
#: inc/admin/admin.php:521
|
647 |
msgid "Reset settings"
|
648 |
msgstr "Réinitialiser les paramètres"
|
649 |
|
650 |
+
#: inc/admin/admin.php:558
|
651 |
msgid "Notifications Center"
|
652 |
msgstr "Centre de Notifications"
|
653 |
|
654 |
+
#: inc/admin/admin.php:563
|
655 |
msgid ""
|
656 |
"We notice that you use Yoast SEO plugin. <br>Do you want to migrate all your "
|
657 |
"posts metadata to SEOPress?"
|
660 |
"méta données de vos articles, pages et types d'articles personnalisés vers "
|
661 |
"SEOPress ?"
|
662 |
|
663 |
+
#: inc/admin/admin.php:565
|
664 |
msgid "Migrate!"
|
665 |
msgstr "Migrer !"
|
666 |
|
667 |
+
#: inc/admin/admin.php:586
|
668 |
msgid "Your site doesn't use an SSL certificate!"
|
669 |
msgstr "Votre site n'utilise pas de certificat SSL !"
|
670 |
|
671 |
+
#: inc/admin/admin.php:587
|
672 |
msgid "Learn more"
|
673 |
msgstr "En savoir plus"
|
674 |
|
675 |
+
#: inc/admin/admin.php:588
|
676 |
msgid "Low impact"
|
677 |
msgstr "Impact faible"
|
678 |
|
679 |
+
#: inc/admin/admin.php:590
|
680 |
msgid "Buy an SSL!"
|
681 |
msgstr "Acheter un SSL !"
|
682 |
|
683 |
+
#: inc/admin/admin.php:600
|
684 |
msgid "Your site is not visible to Search Engines!"
|
685 |
msgstr "Votre site n'est pas visible aux moteurs de recherche !"
|
686 |
|
687 |
+
#: inc/admin/admin.php:601 inc/admin/admin.php:611 inc/admin/admin.php:621
|
688 |
msgid "High impact"
|
689 |
msgstr "Impact élevé"
|
690 |
|
691 |
+
#: inc/admin/admin.php:603 inc/admin/admin.php:613 inc/admin/admin.php:623
|
692 |
+
#: inc/admin/admin.php:647 inc/admin/admin.php:687 inc/admin/admin.php:759
|
693 |
msgid "Fix this!"
|
694 |
msgstr "Régler !"
|
695 |
|
696 |
+
#: inc/admin/admin.php:610
|
697 |
msgid "Your site title is empty!"
|
698 |
msgstr "Le titre de votre site est vide !"
|
699 |
|
700 |
+
#: inc/admin/admin.php:620
|
701 |
msgid ""
|
702 |
"Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
|
703 |
msgstr ""
|
704 |
"Vos permaliens ne sont pas SEO Friendly ! Veuillez activer la réécriture "
|
705 |
"d'URL pour résoudre cela."
|
706 |
|
707 |
+
#: inc/admin/admin.php:644
|
708 |
+
msgid "You RSS feed show full text!"
|
709 |
+
msgstr "Votre flux RSS affiche le texte complet !"
|
710 |
|
711 |
+
#: inc/admin/admin.php:645 inc/admin/admin.php:685
|
712 |
msgid "Medium impact"
|
713 |
msgstr "Impact modéré"
|
714 |
|
715 |
+
#: inc/admin/admin.php:671
|
716 |
+
msgid "Break comments into pages is ON!"
|
717 |
+
msgstr "Diviser les commentaires en plusieurs pages est actif !"
|
718 |
|
719 |
+
#: inc/admin/admin.php:672 inc/admin/admin.php:709 inc/admin/admin.php:745
|
720 |
msgid "Huge impact"
|
721 |
msgstr "Impact élevé"
|
722 |
|
723 |
+
#: inc/admin/admin.php:674
|
724 |
+
msgid "Disable this!"
|
725 |
+
msgstr "Désactiver !"
|
726 |
+
|
727 |
+
#: inc/admin/admin.php:684
|
728 |
+
msgid "You don't have an XML Sitemap!"
|
729 |
+
msgstr "Vous n'avez pas de Sitemap XML !"
|
730 |
+
|
731 |
+
#: inc/admin/admin.php:708
|
732 |
+
msgid "Do you have a Google Business page? It's free!"
|
733 |
+
msgstr "Avez vous une page Google Business ? C'est gratuit !"
|
734 |
+
|
735 |
+
#: inc/admin/admin.php:711
|
736 |
msgid "Create your page now!"
|
737 |
msgstr "Créez votre page !"
|
738 |
|
739 |
+
#: inc/admin/admin.php:744
|
740 |
msgid "Add your site to Google. It's free!"
|
741 |
msgstr "Ajoutez votre site à Google. C’est gratuit !"
|
742 |
|
743 |
+
#: inc/admin/admin.php:747
|
744 |
msgid "Add your site to Search Console!"
|
745 |
msgstr "Ajoutez à Search Console !"
|
746 |
|
747 |
+
#: inc/admin/admin.php:757
|
748 |
msgid "You have to enter your licence key to get updates and support"
|
749 |
msgstr ""
|
750 |
"Vous devez entrer votre clé de licence pour obtenir mises à jour et support"
|
751 |
|
752 |
+
#: inc/admin/admin.php:771
|
753 |
msgid "Titles & metas"
|
754 |
msgstr "Titres et Métas"
|
755 |
|
756 |
+
#: inc/admin/admin.php:772
|
757 |
msgid "Manage all your titles & metas"
|
758 |
msgstr "Gérez tous vos titres et métas"
|
759 |
|
760 |
+
#: inc/admin/admin.php:773 inc/admin/admin.php:802 inc/admin/admin.php:831
|
761 |
+
#: inc/admin/admin.php:860 inc/admin/admin.php:889 inc/admin/admin.php:918
|
762 |
+
#: inc/admin/admin.php:946 inc/admin/admin.php:974 inc/admin/admin.php:1002
|
763 |
+
#: inc/admin/admin.php:1031 inc/admin/admin.php:1042 inc/admin/admin.php:1071
|
764 |
+
#: inc/admin/admin.php:1099 inc/admin/admin.php:1128 inc/admin/admin.php:1140
|
765 |
+
#: inc/admin/admin.php:1152
|
766 |
msgid "Manage"
|
767 |
msgstr "Gérer"
|
768 |
|
769 |
+
#: inc/admin/admin.php:785 inc/admin/admin.php:789 inc/admin/admin.php:814
|
770 |
+
#: inc/admin/admin.php:818 inc/admin/admin.php:843 inc/admin/admin.php:847
|
771 |
+
#: inc/admin/admin.php:872 inc/admin/admin.php:876 inc/admin/admin.php:901
|
772 |
+
#: inc/admin/admin.php:905 inc/admin/admin.php:930 inc/admin/admin.php:934
|
773 |
+
#: inc/admin/admin.php:958 inc/admin/admin.php:962 inc/admin/admin.php:986
|
774 |
+
#: inc/admin/admin.php:990 inc/admin/admin.php:1014 inc/admin/admin.php:1018
|
775 |
+
#: inc/admin/admin.php:1054 inc/admin/admin.php:1058 inc/admin/admin.php:1083
|
776 |
+
#: inc/admin/admin.php:1087 inc/admin/admin.php:1111 inc/admin/admin.php:1115
|
777 |
msgid "Click to disable this feature"
|
778 |
msgstr "Cliquez pour désactiver cette fonctionnalité"
|
779 |
|
780 |
+
#: inc/admin/admin.php:786 inc/admin/admin.php:788 inc/admin/admin.php:815
|
781 |
+
#: inc/admin/admin.php:817 inc/admin/admin.php:844 inc/admin/admin.php:846
|
782 |
+
#: inc/admin/admin.php:873 inc/admin/admin.php:875 inc/admin/admin.php:902
|
783 |
+
#: inc/admin/admin.php:904 inc/admin/admin.php:931 inc/admin/admin.php:933
|
784 |
+
#: inc/admin/admin.php:959 inc/admin/admin.php:961 inc/admin/admin.php:987
|
785 |
+
#: inc/admin/admin.php:989 inc/admin/admin.php:1015 inc/admin/admin.php:1017
|
786 |
+
#: inc/admin/admin.php:1055 inc/admin/admin.php:1057 inc/admin/admin.php:1084
|
787 |
+
#: inc/admin/admin.php:1086 inc/admin/admin.php:1112 inc/admin/admin.php:1114
|
788 |
msgid "Click to enable this feature"
|
789 |
msgstr "Cliquez pour activer cette fonctionnalité"
|
790 |
|
791 |
+
#: inc/admin/admin.php:801
|
792 |
msgid "Manage your XML / HTML Sitemap"
|
793 |
msgstr "Gérez votre plan de site XML / HTML"
|
794 |
|
795 |
+
#: inc/admin/admin.php:830
|
796 |
msgid "Open Graph, Twitter Card, Google Knowledge Graph and more..."
|
797 |
msgstr "Open Graph, Twitter Card, Google Knowledge Graph et plus..."
|
798 |
|
799 |
+
#: inc/admin/admin.php:859
|
800 |
msgid "Track everything about your visitors with Google Analytics"
|
801 |
msgstr "Suivez tout ce qui concerne vos visiteurs avec Google Analytics"
|
802 |
|
803 |
+
#: inc/admin/admin.php:888
|
804 |
msgid "Advanced SEO options for advanced users!"
|
805 |
msgstr "Options SEO avancées pour utilisateurs avancés !"
|
806 |
|
807 |
+
#: inc/admin/admin.php:916
|
808 |
msgid "WooCommerce"
|
809 |
msgstr "WooCommerce"
|
810 |
|
811 |
+
#: inc/admin/admin.php:917
|
812 |
msgid "Improve WooCommerce SEO"
|
813 |
msgstr "Améliorer le SEO de WooCommerce"
|
814 |
|
815 |
+
#: inc/admin/admin.php:944
|
816 |
msgid "Dublin Core"
|
817 |
msgstr "Dublin Core"
|
818 |
|
819 |
+
#: inc/admin/admin.php:945
|
820 |
msgid "Add Dublin Core meta tags"
|
821 |
msgstr "Ajout des balises Dublin Core"
|
822 |
|
823 |
+
#: inc/admin/admin.php:972
|
824 |
msgid "Structured Data Types"
|
825 |
msgstr "Types de données structurées"
|
826 |
|
827 |
+
#: inc/admin/admin.php:973
|
828 |
msgid ""
|
829 |
"Add data types to your content: articles, courses, recipes, videos, events "
|
830 |
"and products"
|
832 |
"Ajout des types de données à vos contenus : articles, cours, recettes, "
|
833 |
"vidéos, événements et produits"
|
834 |
|
835 |
+
#: inc/admin/admin.php:1000
|
836 |
msgid "Breadcrumbs"
|
837 |
msgstr "Fil d'Ariane"
|
838 |
|
839 |
+
#: inc/admin/admin.php:1001
|
840 |
msgid "Enable Breadcrumbs for your theme and improve your SEO in SERPs"
|
841 |
msgstr ""
|
842 |
"Activer le fil d'Ariane pour votre thème et améliorer votre SEO dans les "
|
843 |
"résultats de recherche "
|
844 |
|
845 |
+
#: inc/admin/admin.php:1029
|
846 |
msgid "Google Page Speed"
|
847 |
msgstr "Google Page Speed"
|
848 |
|
849 |
+
#: inc/admin/admin.php:1030
|
850 |
msgid "Track your website performance to improve SEO with Google Page Speed"
|
851 |
msgstr ""
|
852 |
"Suivez les performances de votre site Web afin d’améliorer le SEO avec "
|
853 |
"Google Page Speed"
|
854 |
|
855 |
+
#: inc/admin/admin.php:1040
|
856 |
msgid "Robots"
|
857 |
msgstr "Robots"
|
858 |
|
859 |
+
#: inc/admin/admin.php:1041
|
860 |
msgid "Edit your robots.txt file"
|
861 |
msgstr "Editer votre fichier robots.txt"
|
862 |
|
863 |
+
#: inc/admin/admin.php:1069
|
864 |
msgid "Google News Sitemap"
|
865 |
msgstr "Google News Sitemap"
|
866 |
|
867 |
+
#: inc/admin/admin.php:1070
|
868 |
msgid "Optimize your site for Google News"
|
869 |
msgstr "Optimisez votre site pour Google Actualités"
|
870 |
|
871 |
+
#: inc/admin/admin.php:1098
|
872 |
msgid "Monitor 404, create 301, 302 and 307 redirections"
|
873 |
msgstr "Surveiller les 404, créer des redirections 301, 302 et 307"
|
874 |
|
875 |
+
#: inc/admin/admin.php:1126
|
876 |
msgid "htaccess"
|
877 |
msgstr "htaccess"
|
878 |
|
879 |
+
#: inc/admin/admin.php:1127
|
880 |
msgid "Edit your htaccess file."
|
881 |
msgstr "Modifier votre fichier htaccess."
|
882 |
|
883 |
+
#: inc/admin/admin.php:1139
|
884 |
msgid "Import / export SEOPress settings from site to site."
|
885 |
msgstr "Importer / Exporter les paramètres d'un site à un autre"
|
886 |
|
887 |
+
#: inc/admin/admin.php:1150
|
888 |
msgid "License"
|
889 |
msgstr "Licence"
|
890 |
|
891 |
+
#: inc/admin/admin.php:1151
|
892 |
msgid "Edit your SEOPress license key."
|
893 |
msgstr "Modifier votre clé de licence SEOPress."
|
894 |
|
895 |
+
#: inc/admin/admin.php:1220
|
896 |
msgid "Site title"
|
897 |
msgstr "Titre du site"
|
898 |
|
899 |
+
#: inc/admin/admin.php:1443 inc/admin/admin.php:2758
|
900 |
msgid "Enable XML Sitemap"
|
901 |
msgstr "Activez le Sitemap XML"
|
902 |
|
903 |
+
#: inc/admin/admin.php:1451 inc/admin/admin.php:2777
|
904 |
msgid "Enable HTML Sitemap"
|
905 |
msgstr "Activez le Sitemap HTML"
|
906 |
|
907 |
+
#: inc/admin/admin.php:1467
|
908 |
msgid "Check to INCLUDE Post Types"
|
909 |
msgstr "Cochez pour INCLURE les Types d'article"
|
910 |
|
911 |
+
#: inc/admin/admin.php:1483
|
912 |
msgid "Check to INCLUDE Taxonomies"
|
913 |
msgstr "Cochez pour INCLURE les Taxonomies"
|
914 |
|
915 |
+
#: inc/admin/admin.php:1499
|
916 |
msgid "Enter a post, page or custom post type ID(s) to display the sitemap"
|
917 |
msgstr ""
|
918 |
"Saisissez un ID d'article, de page ou de type de contenu où afficher le plan "
|
919 |
"de site."
|
920 |
|
921 |
+
#: inc/admin/admin.php:1507
|
922 |
msgid "Exclude some Posts, Pages or Custom Post Types"
|
923 |
msgstr "Exclure certains articles, pages ou types de contenus."
|
924 |
|
925 |
+
#: inc/admin/admin.php:1524
|
926 |
msgid "Person or organization"
|
927 |
msgstr "Personne ou Organisation"
|
928 |
|
929 |
+
#: inc/admin/admin.php:1532
|
930 |
msgid "Your name / organization"
|
931 |
msgstr "Votre nom / organisation"
|
932 |
|
933 |
+
#: inc/admin/admin.php:1540
|
934 |
msgid "Your photo / organization logo"
|
935 |
msgstr "Votre photo / logo"
|
936 |
|
937 |
+
#: inc/admin/admin.php:1548
|
938 |
msgid "Organization Phone number (only for Organization)"
|
939 |
msgstr ""
|
940 |
"Numéro de téléphone de l'organisation (seulement pour les organisations)"
|
941 |
|
942 |
+
#: inc/admin/admin.php:1556
|
943 |
msgid "Contact type (only for Organization)"
|
944 |
msgstr "Type de contact (seulement pour les organisations)"
|
945 |
|
946 |
+
#: inc/admin/admin.php:1564
|
947 |
msgid "Contact option (only for Organization)"
|
948 |
msgstr "Option de contact (seulement pour les organisations)"
|
949 |
|
950 |
+
#: inc/admin/admin.php:1581
|
951 |
msgid "Facebook Page URL"
|
952 |
msgstr "URL de la page Facebook"
|
953 |
|
954 |
+
#: inc/admin/admin.php:1589
|
955 |
msgid "Twitter Username"
|
956 |
msgstr "Compte utilisateur Twitter"
|
957 |
|
958 |
+
#: inc/admin/admin.php:1597
|
959 |
msgid "Google + URL"
|
960 |
msgstr "URL Google +"
|
961 |
|
962 |
+
#: inc/admin/admin.php:1605
|
963 |
msgid "Pinterest URL"
|
964 |
msgstr "URL Pinterest"
|
965 |
|
966 |
+
#: inc/admin/admin.php:1613
|
967 |
msgid "Instagram URL"
|
968 |
msgstr "URL Instagram"
|
969 |
|
970 |
+
#: inc/admin/admin.php:1621
|
971 |
msgid "YouTube URL"
|
972 |
msgstr "URL YouTube"
|
973 |
|
974 |
+
#: inc/admin/admin.php:1629
|
975 |
msgid "LinkedIn URL"
|
976 |
msgstr "URL LinkedIn"
|
977 |
|
978 |
+
#: inc/admin/admin.php:1637
|
979 |
msgid "MySpace URL"
|
980 |
msgstr "URL MySpace"
|
981 |
|
982 |
+
#: inc/admin/admin.php:1645
|
983 |
msgid "Soundcloud URL"
|
984 |
msgstr "URL Soundcloud"
|
985 |
|
986 |
+
#: inc/admin/admin.php:1653
|
987 |
msgid "Tumblr URL"
|
988 |
msgstr "URL Tumblr"
|
989 |
|
990 |
+
#: inc/admin/admin.php:1670
|
991 |
msgid "Enable Open Graph Data"
|
992 |
msgstr "Activez les données Open Graph"
|
993 |
|
994 |
+
#: inc/admin/admin.php:1678
|
995 |
msgid "Select a default image"
|
996 |
msgstr "Sélectionnez une image par défaut"
|
997 |
|
998 |
+
#: inc/admin/admin.php:1686
|
999 |
msgid "Facebook Admin ID"
|
1000 |
msgstr "Facebook Admin ID"
|
1001 |
|
1002 |
+
#: inc/admin/admin.php:1694
|
1003 |
msgid "Facebook App ID"
|
1004 |
msgstr "Facebook App ID"
|
1005 |
|
1006 |
+
#: inc/admin/admin.php:1711
|
1007 |
msgid "Enable Twitter Card"
|
1008 |
msgstr "Activez Twitter Card"
|
1009 |
|
1010 |
+
#: inc/admin/admin.php:1719
|
1011 |
msgid "Default Twitter Image"
|
1012 |
msgstr "Image Twitter par défaut"
|
1013 |
|
1014 |
+
#: inc/admin/admin.php:1727
|
1015 |
msgid "Image size for Twitter Summary card"
|
1016 |
msgstr "Taille d'image pour Twitter Summary Card"
|
1017 |
|
1018 |
+
#: inc/admin/admin.php:1744 inc/admin/admin.php:3228
|
1019 |
msgid "Enable Google Analytics tracking"
|
1020 |
msgstr "Activer le suivi Google Analytics"
|
1021 |
|
1022 |
+
#: inc/admin/admin.php:1752
|
1023 |
msgid "Enter your tracking ID"
|
1024 |
msgstr "Saisissez votre ID de suivi"
|
1025 |
|
1026 |
+
#: inc/admin/admin.php:1760
|
1027 |
msgid "Exclude user roles from tracking"
|
1028 |
msgstr "Exclure des rôles utilisateurs du suivi"
|
1029 |
|
1030 |
+
#: inc/admin/admin.php:1778 inc/admin/admin.php:3280
|
1031 |
msgid "Enable remarketing, demographics and interest reporting"
|
1032 |
msgstr ""
|
1033 |
"Activer le remarketing, les rapports démographiques et centres d'intérêts"
|
1034 |
|
1035 |
+
#: inc/admin/admin.php:1786 inc/admin/admin.php:3297
|
1036 |
msgid "Enable IP Anonymization"
|
1037 |
msgstr "Activer l'anonymisation des IP"
|
1038 |
|
1039 |
+
#: inc/admin/admin.php:1794 inc/admin/admin.php:3314
|
1040 |
msgid "Enhanced Link Attribution"
|
1041 |
msgstr "Améliorer l'attribution des liens"
|
1042 |
|
1043 |
+
#: inc/admin/admin.php:1802 inc/admin/admin.php:3331
|
1044 |
msgid "Enable cross-domain tracking"
|
1045 |
msgstr "Activer le suivi cross-domain"
|
1046 |
|
1047 |
+
#: inc/admin/admin.php:1810
|
1048 |
msgid "Cross domains"
|
1049 |
msgstr "Cross domains"
|
1050 |
|
1051 |
+
#: inc/admin/admin.php:1828
|
1052 |
msgid "Track Authors"
|
1053 |
msgstr "Suivre les Auteurs"
|
1054 |
|
1055 |
+
#: inc/admin/admin.php:1836
|
1056 |
msgid "Track Categories"
|
1057 |
msgstr "Suivre les Catégories"
|
1058 |
|
1059 |
+
#: inc/admin/admin.php:1844
|
1060 |
msgid "Track Tags"
|
1061 |
msgstr "Suivre les Etiquettes"
|
1062 |
|
1063 |
+
#: inc/admin/admin.php:1852
|
1064 |
msgid "Track Post Types"
|
1065 |
msgstr "Suivre les Types d'articles personnalisés"
|
1066 |
|
1067 |
+
#: inc/admin/admin.php:1860
|
1068 |
msgid "Track Logged In Users"
|
1069 |
msgstr "Suivre les utilisateurs connectés"
|
1070 |
|
1071 |
+
#: inc/admin/admin.php:1877
|
1072 |
msgid "Redirect attachment pages to post parent"
|
1073 |
msgstr ""
|
1074 |
"Rediriger les pages de type pièces jointes vers la page parent (attachment)"
|
1075 |
|
1076 |
+
#: inc/admin/admin.php:1885
|
1077 |
msgid "Remove stop words from URL"
|
1078 |
msgstr "Supprimer les mots inutiles des URL"
|
1079 |
|
1080 |
+
#: inc/admin/admin.php:1893
|
1081 |
msgid "Remove /category/ in URL"
|
1082 |
msgstr "Supprimer /category/ dans les URLs"
|
1083 |
|
1084 |
+
#: inc/admin/admin.php:1901
|
1085 |
msgid "Google site verification"
|
1086 |
msgstr "Vérification de site Google"
|
1087 |
|
1088 |
+
#: inc/admin/admin.php:1909
|
1089 |
msgid "Bing site verification"
|
1090 |
msgstr "Vérification de site Bing"
|
1091 |
|
1092 |
+
#: inc/admin/admin.php:1917
|
1093 |
msgid "Pinterest site verification"
|
1094 |
msgstr "Vérification de site Pinterest :"
|
1095 |
|
1096 |
+
#: inc/admin/admin.php:1925
|
1097 |
msgid "Yandex site verification"
|
1098 |
msgstr "Vérification de site Yandex"
|
1099 |
|
1100 |
+
#: inc/admin/admin.php:1942
|
1101 |
msgid "SEOPress in admin bar"
|
1102 |
msgstr "SEOPress dans la barre d’admin"
|
1103 |
|
1104 |
+
#: inc/admin/admin.php:1950
|
1105 |
msgid "Hide SEOPress Notifications Center"
|
1106 |
msgstr "Cacher le Centre de Notifications SEOPress"
|
1107 |
|
1108 |
+
#: inc/admin/admin.php:1958
|
1109 |
msgid "Show Title tag column in post types"
|
1110 |
msgstr "Afficher la balise Titre dans les colonnes des articles personnalisés"
|
1111 |
|
1112 |
+
#: inc/admin/admin.php:1966
|
1113 |
msgid "Show Meta description column in post types"
|
1114 |
msgstr ""
|
1115 |
"Afficher la meta description dans les colonnes des articles personnalisés"
|
1116 |
|
1117 |
+
#: inc/admin/admin.php:1974
|
1118 |
msgid "Show noindex column in post types"
|
1119 |
msgstr "Afficher la colonne noindex dans les types d'articles"
|
1120 |
|
1121 |
+
#: inc/admin/admin.php:1982
|
1122 |
msgid "Show nofollow column in post types"
|
1123 |
msgstr "Afficher la colonne nofollow dans les types d'articles"
|
1124 |
|
1125 |
+
#: inc/admin/admin.php:1990
|
1126 |
+
msgid "Hide Genesis SEO Metaboxe"
|
1127 |
+
msgstr "Cacher la metaboxe Genesis SEO"
|
1128 |
+
|
1129 |
+
#: inc/admin/admin.php:2034
|
1130 |
msgid "<p>Customize your titles & metas for homepage</p>"
|
1131 |
msgstr "<p>Personnalisez vos titres et métas pour l'accueil</p>"
|
1132 |
|
1133 |
+
#: inc/admin/admin.php:2039
|
1134 |
msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
|
1135 |
msgstr ""
|
1136 |
"<p>Personnalisez vos titres et métas pour les singles des Types d'article</p>"
|
1137 |
|
1138 |
+
#: inc/admin/admin.php:2044
|
1139 |
msgid "<p>Customize your metas for all pages</p>"
|
1140 |
msgstr "<p>Personnalisez vos métas pour toutes les pages</p>"
|
1141 |
|
1142 |
+
#: inc/admin/admin.php:2049
|
1143 |
msgid "<p>Customize your metas for all taxonomies archives</p>"
|
1144 |
msgstr "<p>Personnalisez vos métas pour toutes les archives de taxonomies</p>"
|
1145 |
|
1146 |
+
#: inc/admin/admin.php:2054
|
1147 |
msgid "<p>Customize your metas for all archives</p>"
|
1148 |
msgstr "<p>Personnalisez vos métas pour les archives</p>"
|
1149 |
|
1150 |
+
#: inc/admin/admin.php:2059
|
1151 |
msgid ""
|
1152 |
"To view your sitemap, enable permalinks (not default one), and save settings "
|
1153 |
"to flush them."
|
1155 |
"Pour voir votre sitemap, activez les permaliens (pas ceux par défaut), et "
|
1156 |
"sauvegardez les paramètres pour les mettre à jour."
|
1157 |
|
1158 |
+
#: inc/admin/admin.php:2060
|
1159 |
msgid ""
|
1160 |
"Only the last 1000 items are listed in Sitemaps for performances issues."
|
1161 |
msgstr ""
|
1162 |
"Seuls les 1000 derniers éléments sont répertoriés dans les Sitemaps pour des "
|
1163 |
"raisons de performances."
|
1164 |
|
1165 |
+
#: inc/admin/admin.php:2062
|
1166 |
msgid "View your sitemap"
|
1167 |
msgstr "Voir votre sitemap"
|
1168 |
|
1169 |
+
#: inc/admin/admin.php:2064
|
1170 |
msgid "Ping Google manually"
|
1171 |
msgstr "Pinger Google manuellement"
|
1172 |
|
1173 |
+
#: inc/admin/admin.php:2066
|
1174 |
msgid "Flush permalinks"
|
1175 |
msgstr "Mettre à jour les permaliens"
|
1176 |
|
1177 |
+
#: inc/admin/admin.php:2072
|
1178 |
msgid "<p>Create an HTML for your visitors and boost your SEO</p>"
|
1179 |
msgstr ""
|
1180 |
"<p>Créez un plan de site HTML pour vos visiteurs et boostez votre SEO</p>"
|
1181 |
|
1182 |
+
#: inc/admin/admin.php:2077
|
1183 |
msgid "<p>Include / Exclude Post Types</p>"
|
1184 |
msgstr "<p>Inclure / Exclure les Types d'article</p>"
|
1185 |
|
1186 |
+
#: inc/admin/admin.php:2082
|
1187 |
msgid "<p>Include / Exclude Taxonomies</p>"
|
1188 |
msgstr "<p>Inclure / Exclure les Taxonomies</p>"
|
1189 |
|
1190 |
+
#: inc/admin/admin.php:2087
|
1191 |
msgid "<p>Configure Google Knowledge Graph</p>"
|
1192 |
msgstr "<p>Configurer Google Knowledge Graph</p>"
|
1193 |
|
1194 |
+
#: inc/admin/admin.php:2092
|
1195 |
msgid "<p>Link your site with your social accounts</p>"
|
1196 |
msgstr "<p>Lier votre site à vos comptes sociaux</p>"
|
1197 |
|
1198 |
+
#: inc/admin/admin.php:2097
|
1199 |
msgid "<p>Manage Open Graph datas</p>"
|
1200 |
msgstr "<p>Gérer l'Open Graph datas</p>"
|
1201 |
|
1202 |
+
#: inc/admin/admin.php:2102
|
1203 |
msgid "<p>Manage your Twitter card</p>"
|
1204 |
msgstr "<p>Gérer votre Twitter card</p>"
|
1205 |
|
1206 |
+
#: inc/admin/admin.php:2107
|
1207 |
msgid "<p>Link your Google Analytics to your website</p>"
|
1208 |
msgstr "<p>Lier Google Analytics à votre site</p>"
|
1209 |
|
1210 |
+
#: inc/admin/admin.php:2112
|
1211 |
msgid "<p>Configure your Google Analytics tracking code</p>"
|
1212 |
msgstr "<p>Configurer votre code de suivi Google Analytics</p>"
|
1213 |
|
1214 |
+
#: inc/admin/admin.php:2117
|
1215 |
msgid "<p>Configure your Google Analytics custom dimensions"
|
1216 |
msgstr "<p>Configurer vos dimensions personnalisées pour Google Analytics"
|
1217 |
|
1218 |
+
#: inc/admin/admin.php:2123
|
1219 |
msgid "<p>Advanced SEO options</p>"
|
1220 |
msgstr "<p>Options avancées de SEO</p>"
|
1221 |
|
1222 |
+
#: inc/admin/admin.php:2128
|
1223 |
msgid "<p>Customize SEOPress to fit your needs</p>"
|
1224 |
msgstr "<p>Personnaliser SEOPress pour correspondre à vos besoins</p>"
|
1225 |
|
1226 |
+
#: inc/admin/admin.php:2139
|
1227 |
msgid "My awesome website"
|
1228 |
msgstr "Mon super site"
|
1229 |
|
1230 |
+
#: inc/admin/admin.php:2144 inc/admin/admin.php:2155 inc/admin/admin.php:2191
|
1231 |
+
#: inc/admin/admin.php:2306 inc/admin/admin.php:2337 inc/admin/admin.php:2414
|
1232 |
+
#: inc/admin/admin.php:2487 inc/admin/admin.php:2537 inc/admin/admin.php:2586
|
1233 |
+
#: inc/admin/admin.php:2616
|
1234 |
msgid "More tags"
|
1235 |
msgstr "Plus de balises"
|
1236 |
|
1237 |
+
#: inc/admin/admin.php:2150
|
1238 |
msgid "This is a cool website about Wookiees"
|
1239 |
msgstr "Un site cool sur les Wookies"
|
1240 |
|
1241 |
+
#: inc/admin/admin.php:2168 inc/admin/admin.php:2277 inc/admin/admin.php:2391
|
1242 |
+
#: inc/admin/admin.php:2476 inc/admin/admin.php:2526 inc/admin/admin.php:2575
|
1243 |
+
#: inc/admin/admin.php:2607
|
1244 |
msgid "Title template"
|
1245 |
msgstr "Template de Titre"
|
1246 |
|
1247 |
+
#: inc/admin/admin.php:2187
|
1248 |
msgid "Post Title"
|
1249 |
msgstr "Titre du post"
|
1250 |
|
1251 |
+
#: inc/admin/admin.php:2198 inc/admin/admin.php:2313 inc/admin/admin.php:2421
|
1252 |
+
#: inc/admin/admin.php:2493 inc/admin/admin.php:2543 inc/admin/admin.php:2592
|
1253 |
+
#: inc/admin/admin.php:2622
|
1254 |
msgid "Meta description template"
|
1255 |
msgstr "Template de Méta Description"
|
1256 |
|
1257 |
+
#: inc/admin/admin.php:2257
|
1258 |
msgid "Display date in Google search results?"
|
1259 |
msgstr "Afficher la date dans les résultats de recherche Google ?"
|
1260 |
|
1261 |
+
#: inc/admin/admin.php:2297
|
1262 |
msgid "Category Title"
|
1263 |
msgstr "Titre de catégorie"
|
1264 |
|
1265 |
+
#: inc/admin/admin.php:2299
|
1266 |
msgid "Tag Title"
|
1267 |
msgstr "Titre de l'étiquette"
|
1268 |
|
1269 |
+
#: inc/admin/admin.php:2301
|
1270 |
msgid "Term Title"
|
1271 |
msgstr "Titre du terme"
|
1272 |
|
1273 |
+
#: inc/admin/admin.php:2330
|
1274 |
msgid "Category Description"
|
1275 |
msgstr "Description de la catégorie"
|
1276 |
|
1277 |
+
#: inc/admin/admin.php:2332
|
1278 |
msgid "Tag Description"
|
1279 |
msgstr "Description du tag"
|
1280 |
|
1281 |
+
#: inc/admin/admin.php:2334
|
1282 |
msgid "Term Description"
|
1283 |
msgstr "Description du terme"
|
1284 |
|
1285 |
+
#: inc/admin/admin.php:2410
|
1286 |
msgid "Post Type Archive Name"
|
1287 |
msgstr "Nom d'archive du Type d'article"
|
1288 |
|
1289 |
+
#: inc/admin/admin.php:2474
|
1290 |
msgid "Author archives"
|
1291 |
msgstr "Archives de l'auteur"
|
1292 |
|
1293 |
+
#: inc/admin/admin.php:2524
|
1294 |
msgid "Date archives"
|
1295 |
msgstr "Archives par date"
|
1296 |
|
1297 |
+
#: inc/admin/admin.php:2535
|
1298 |
msgid "Archive date"
|
1299 |
msgstr "Date d'archive"
|
1300 |
|
1301 |
+
#: inc/admin/admin.php:2573
|
1302 |
msgid "Search archives"
|
1303 |
msgstr "Archives de recherche"
|
1304 |
|
1305 |
+
#: inc/admin/admin.php:2584
|
1306 |
msgid "Search Keywords"
|
1307 |
msgstr "Mots clés recherchés"
|
1308 |
|
1309 |
+
#: inc/admin/admin.php:2605
|
1310 |
msgid "404 archives"
|
1311 |
msgstr "Page 404"
|
1312 |
|
1313 |
+
#: inc/admin/admin.php:2818 inc/admin/admin.php:2858
|
1314 |
msgid "Include"
|
1315 |
msgstr "Inclure"
|
1316 |
|
1317 |
+
#: inc/admin/admin.php:2871
|
1318 |
msgid "eg: 2, 28, 68"
|
1319 |
msgstr "ex: 2, 28, 68"
|
1320 |
|
1321 |
+
#: inc/admin/admin.php:2879
|
1322 |
msgid "eg: 13, 8, 38"
|
1323 |
msgstr "ex: 13, 8, 38"
|
1324 |
|
1325 |
+
#: inc/admin/admin.php:2893
|
1326 |
msgid "Person"
|
1327 |
msgstr "Personne"
|
1328 |
|
1329 |
+
#: inc/admin/admin.php:2896
|
1330 |
msgid "Organization"
|
1331 |
msgstr "Organisation"
|
1332 |
|
1333 |
+
#: inc/admin/admin.php:2907
|
1334 |
msgid "eg: Apple"
|
1335 |
msgstr "ex: Apple"
|
1336 |
|
1337 |
+
#: inc/admin/admin.php:2918
|
1338 |
msgid "Select your logo"
|
1339 |
msgstr "Sélectionnez votre logo"
|
1340 |
|
1341 |
+
#: inc/admin/admin.php:2944
|
1342 |
msgid "eg: +33123456789 (internationalized version required)"
|
1343 |
msgstr "par exemple: +33123456789 (version internationalisée nécessaire)"
|
1344 |
|
1345 |
+
#: inc/admin/admin.php:2959
|
1346 |
msgid "Customer support"
|
1347 |
msgstr "Support client"
|
1348 |
|
1349 |
+
#: inc/admin/admin.php:2962
|
1350 |
msgid "Technical support"
|
1351 |
msgstr "Support technique"
|
1352 |
|
1353 |
+
#: inc/admin/admin.php:2965
|
1354 |
msgid "Billing support"
|
1355 |
msgstr "Support facturation"
|
1356 |
|
1357 |
+
#: inc/admin/admin.php:2968
|
1358 |
msgid "Bill payment"
|
1359 |
msgstr "Paiement facturation"
|
1360 |
|
1361 |
+
#: inc/admin/admin.php:2971
|
1362 |
msgid "Sales"
|
1363 |
msgstr "Ventes"
|
1364 |
|
1365 |
+
#: inc/admin/admin.php:2974
|
1366 |
msgid "Credit card support"
|
1367 |
msgstr "Support carte de crédit"
|
1368 |
|
1369 |
+
#: inc/admin/admin.php:2977
|
1370 |
msgid "Emergency"
|
1371 |
msgstr "Urgence"
|
1372 |
|
1373 |
+
#: inc/admin/admin.php:2980
|
1374 |
msgid "Baggage tracking"
|
1375 |
msgstr "Suivi des bagages"
|
1376 |
|
1377 |
+
#: inc/admin/admin.php:2983
|
1378 |
msgid "Roadside assistance"
|
1379 |
msgstr "Assistance routière"
|
1380 |
|
1381 |
+
#: inc/admin/admin.php:2986
|
1382 |
msgid "Package tracking"
|
1383 |
msgstr "Suivi des colis"
|
1384 |
|
1385 |
+
#: inc/admin/admin.php:3003
|
1386 |
msgid "Toll Free"
|
1387 |
msgstr "Gratuit"
|
1388 |
|
1389 |
+
#: inc/admin/admin.php:3006
|
1390 |
msgid "Hearing impaired supported"
|
1391 |
msgstr "Support pour les personnes souffrant d'une déficience auditive"
|
1392 |
|
1393 |
+
#: inc/admin/admin.php:3017
|
1394 |
msgid "eg: https://www.facebook.com/your-page"
|
1395 |
msgstr "ex: https://www.facebook.com/your-page"
|
1396 |
|
1397 |
+
#: inc/admin/admin.php:3027
|
1398 |
msgid "eg: @wpcloudy"
|
1399 |
msgstr "ex: @wpcloudy"
|
1400 |
|
1401 |
+
#: inc/admin/admin.php:3037
|
1402 |
msgid "eg: https://plus.google.com/+BenjaminDenis"
|
1403 |
msgstr "ex: https://plus.google.com/+BenjaminDenis"
|
1404 |
|
1405 |
+
#: inc/admin/admin.php:3047
|
1406 |
msgid "eg: https://pinterest.com/wpbuy/"
|
1407 |
msgstr "ex: https://pinterest.com/wpbuy/"
|
1408 |
|
1409 |
+
#: inc/admin/admin.php:3057
|
1410 |
msgid "eg: https://www.instagram.com/your-name/"
|
1411 |
msgstr "ex: https://www.instagram.com/your-name/"
|
1412 |
|
1413 |
+
#: inc/admin/admin.php:3067
|
1414 |
msgid "eg: https://www.youtube.com/channel/UCpQzarWu55UzCIH7-OW6pwA"
|
1415 |
msgstr "ex: https://www.youtube.com/channel/UCpQzarWu55UzCIH7-OW6pwA"
|
1416 |
|
1417 |
+
#: inc/admin/admin.php:3077
|
1418 |
msgid "eg: https://www.linkedin.com/in/benjamin-denis-70672b3b"
|
1419 |
msgstr "ex: https://www.linkedin.com/in/benjamin-denis-70672b3b"
|
1420 |
|
1421 |
+
#: inc/admin/admin.php:3087
|
1422 |
msgid "eg: https://myspace.com/your-page"
|
1423 |
msgstr "ex: https://myspace.com/your-page"
|
1424 |
|
1425 |
+
#: inc/admin/admin.php:3097
|
1426 |
msgid "eg: https://soundcloud.com/michaelmccannmusic"
|
1427 |
msgstr "ex: https://soundcloud.com/michaelmccannmusic"
|
1428 |
|
1429 |
+
#: inc/admin/admin.php:3107
|
1430 |
msgid "eg: https://your-site.tumblr.com"
|
1431 |
msgstr "ex: https://your-site.tumblr.com"
|
1432 |
|
1433 |
+
#: inc/admin/admin.php:3124
|
1434 |
msgid "Enable OG data"
|
1435 |
msgstr "Activer les données OG"
|
1436 |
|
1437 |
+
#: inc/admin/admin.php:3176
|
1438 |
msgid "Enable Twitter card"
|
1439 |
msgstr "Activer Twitter Card"
|
1440 |
|
1441 |
+
#: inc/admin/admin.php:3207
|
1442 |
msgid "Default"
|
1443 |
msgstr "Défaut"
|
1444 |
|
1445 |
+
#: inc/admin/admin.php:3210
|
1446 |
msgid "Large"
|
1447 |
msgstr "Grande"
|
1448 |
|
1449 |
+
#: inc/admin/admin.php:3238
|
1450 |
msgid "Enter your Tracking ID (UA-XXXX-XX)"
|
1451 |
msgstr "Entrer votre ID de tracking (UA-XXXX-XX)"
|
1452 |
|
1453 |
+
#: inc/admin/admin.php:3341
|
1454 |
msgid "Enter yours domains"
|
1455 |
msgstr "Saisissez vos domaines"
|
1456 |
|
1457 |
+
#: inc/admin/admin.php:3360 inc/admin/admin.php:3437 inc/admin/admin.php:3514
|
1458 |
+
#: inc/admin/admin.php:3591 inc/admin/admin.php:3668
|
1459 |
msgid "Custom Dimension #1"
|
1460 |
msgstr "Dimension personnalisée #1"
|
1461 |
|
1462 |
+
#: inc/admin/admin.php:3363 inc/admin/admin.php:3440 inc/admin/admin.php:3517
|
1463 |
+
#: inc/admin/admin.php:3594 inc/admin/admin.php:3671
|
1464 |
msgid "Custom Dimension #2"
|
1465 |
msgstr "Dimension personnalisée #2"
|
1466 |
|
1467 |
+
#: inc/admin/admin.php:3366 inc/admin/admin.php:3443 inc/admin/admin.php:3520
|
1468 |
+
#: inc/admin/admin.php:3597 inc/admin/admin.php:3674
|
1469 |
msgid "Custom Dimension #3"
|
1470 |
msgstr "Dimension personnalisée #3"
|
1471 |
|
1472 |
+
#: inc/admin/admin.php:3369 inc/admin/admin.php:3446 inc/admin/admin.php:3523
|
1473 |
+
#: inc/admin/admin.php:3600 inc/admin/admin.php:3677
|
1474 |
msgid "Custom Dimension #4"
|
1475 |
msgstr "Dimension personnalisée #4"
|
1476 |
|
1477 |
+
#: inc/admin/admin.php:3372 inc/admin/admin.php:3449 inc/admin/admin.php:3526
|
1478 |
+
#: inc/admin/admin.php:3603 inc/admin/admin.php:3680
|
1479 |
msgid "Custom Dimension #5"
|
1480 |
msgstr "Dimension personnalisée #5"
|
1481 |
|
1482 |
+
#: inc/admin/admin.php:3375 inc/admin/admin.php:3452 inc/admin/admin.php:3529
|
1483 |
+
#: inc/admin/admin.php:3606 inc/admin/admin.php:3683
|
1484 |
msgid "Custom Dimension #6"
|
1485 |
msgstr "Dimension personnalisée #6"
|
1486 |
|
1487 |
+
#: inc/admin/admin.php:3378 inc/admin/admin.php:3455 inc/admin/admin.php:3532
|
1488 |
+
#: inc/admin/admin.php:3609 inc/admin/admin.php:3686
|
1489 |
msgid "Custom Dimension #7"
|
1490 |
msgstr "Dimension personnalisée #7"
|
1491 |
|
1492 |
+
#: inc/admin/admin.php:3381 inc/admin/admin.php:3458 inc/admin/admin.php:3535
|
1493 |
+
#: inc/admin/admin.php:3612 inc/admin/admin.php:3689
|
1494 |
msgid "Custom Dimension #8"
|
1495 |
msgstr "Dimension personnalisée #8"
|
1496 |
|
1497 |
+
#: inc/admin/admin.php:3384 inc/admin/admin.php:3461 inc/admin/admin.php:3538
|
1498 |
+
#: inc/admin/admin.php:3615 inc/admin/admin.php:3692
|
1499 |
msgid "Custom Dimension #9"
|
1500 |
msgstr "Dimension personnalisée #9"
|
1501 |
|
1502 |
+
#: inc/admin/admin.php:3387 inc/admin/admin.php:3464 inc/admin/admin.php:3541
|
1503 |
+
#: inc/admin/admin.php:3618 inc/admin/admin.php:3695
|
1504 |
msgid "Custom Dimension #10"
|
1505 |
msgstr "Dimension personnalisée #10"
|
1506 |
|
1507 |
+
#: inc/admin/admin.php:3390 inc/admin/admin.php:3467 inc/admin/admin.php:3544
|
1508 |
+
#: inc/admin/admin.php:3621 inc/admin/admin.php:3698
|
1509 |
msgid "Custom Dimension #11"
|
1510 |
msgstr "Dimension personnalisée #11"
|
1511 |
|
1512 |
+
#: inc/admin/admin.php:3393 inc/admin/admin.php:3470 inc/admin/admin.php:3547
|
1513 |
+
#: inc/admin/admin.php:3624 inc/admin/admin.php:3701
|
1514 |
msgid "Custom Dimension #12"
|
1515 |
msgstr "Dimension personnalisée #12"
|
1516 |
|
1517 |
+
#: inc/admin/admin.php:3396 inc/admin/admin.php:3473 inc/admin/admin.php:3550
|
1518 |
+
#: inc/admin/admin.php:3627 inc/admin/admin.php:3704
|
1519 |
msgid "Custom Dimension #13"
|
1520 |
msgstr "Dimension personnalisée #13"
|
1521 |
|
1522 |
+
#: inc/admin/admin.php:3399 inc/admin/admin.php:3476 inc/admin/admin.php:3553
|
1523 |
+
#: inc/admin/admin.php:3630 inc/admin/admin.php:3707
|
1524 |
msgid "Custom Dimension #14"
|
1525 |
msgstr "Dimension personnalisée #14"
|
1526 |
|
1527 |
+
#: inc/admin/admin.php:3402 inc/admin/admin.php:3479 inc/admin/admin.php:3556
|
1528 |
+
#: inc/admin/admin.php:3633 inc/admin/admin.php:3710
|
1529 |
msgid "Custom Dimension #15"
|
1530 |
msgstr "Dimension personnalisée #15"
|
1531 |
|
1532 |
+
#: inc/admin/admin.php:3405 inc/admin/admin.php:3482 inc/admin/admin.php:3559
|
1533 |
+
#: inc/admin/admin.php:3636 inc/admin/admin.php:3713
|
1534 |
msgid "Custom Dimension #16"
|
1535 |
msgstr "Dimension personnalisée #16"
|
1536 |
|
1537 |
+
#: inc/admin/admin.php:3408 inc/admin/admin.php:3485 inc/admin/admin.php:3562
|
1538 |
+
#: inc/admin/admin.php:3639 inc/admin/admin.php:3716
|
1539 |
msgid "Custom Dimension #17"
|
1540 |
msgstr "Dimension personnalisée #17"
|
1541 |
|
1542 |
+
#: inc/admin/admin.php:3411 inc/admin/admin.php:3488 inc/admin/admin.php:3565
|
1543 |
+
#: inc/admin/admin.php:3642 inc/admin/admin.php:3719
|
1544 |
msgid "Custom Dimension #18"
|
1545 |
msgstr "Dimension personnalisée #18"
|
1546 |
|
1547 |
+
#: inc/admin/admin.php:3414 inc/admin/admin.php:3491 inc/admin/admin.php:3568
|
1548 |
+
#: inc/admin/admin.php:3645 inc/admin/admin.php:3722
|
1549 |
msgid "Custom Dimension #19"
|
1550 |
msgstr "Dimension personnalisée #19"
|
1551 |
|
1552 |
+
#: inc/admin/admin.php:3417 inc/admin/admin.php:3494 inc/admin/admin.php:3571
|
1553 |
+
#: inc/admin/admin.php:3648 inc/admin/admin.php:3725
|
1554 |
msgid "Custom Dimension #20"
|
1555 |
msgstr "Dimension personnalisée #20"
|
1556 |
|
1557 |
+
#: inc/admin/admin.php:3743
|
1558 |
msgid "Redirect attachment pages to post parent (or homepage if none)"
|
1559 |
msgstr ""
|
1560 |
"Rediriger les pages de pièces jointes vers le post parent (si aucun, "
|
1561 |
"rediriger vers page d'accueil)"
|
1562 |
|
1563 |
+
#: inc/admin/admin.php:3760
|
1564 |
msgid "Remove stop words in permalinks"
|
1565 |
msgstr "Supprimer les mots clés inutiles des permaliens"
|
1566 |
|
1567 |
+
#: inc/admin/admin.php:3760
|
1568 |
msgid ""
|
1569 |
"Setting based on site language. Supported language EN, FR, ES, DE, IT, PT."
|
1570 |
msgstr ""
|
1571 |
"Réglage basé sur la langue du site. Langue prise en charge EN, FR, ES, DE, "
|
1572 |
"IT, PT."
|
1573 |
|
1574 |
+
#: inc/admin/admin.php:3777
|
1575 |
msgid "Remove /category/ in your permalinks"
|
1576 |
msgstr "Supprimer /category/ dans vos permaliens"
|
1577 |
|
1578 |
+
#: inc/admin/admin.php:3787
|
1579 |
msgid "Enter Google meta value site verification"
|
1580 |
msgstr "Entrer la meta de vérification de site Google"
|
1581 |
|
1582 |
+
#: inc/admin/admin.php:3797
|
1583 |
msgid "Enter Bing meta value site verification"
|
1584 |
msgstr "Entrer la meta de vérification de site Bing"
|
1585 |
|
1586 |
+
#: inc/admin/admin.php:3807
|
1587 |
msgid "Enter Pinterest meta value site verification"
|
1588 |
msgstr "Entrer la meta de vérification de site Pinterest"
|
1589 |
|
1590 |
+
#: inc/admin/admin.php:3817
|
1591 |
msgid "Enter Yandex meta value site verification"
|
1592 |
msgstr "Entrer la meta de vérification de site Yandex"
|
1593 |
|
1594 |
+
#: inc/admin/admin.php:3834
|
1595 |
msgid "Remove SEOPress from Admin Bar in backend"
|
1596 |
msgstr "Supprimer SEOPress de la barre d'outils dans l'administration"
|
1597 |
|
1598 |
+
#: inc/admin/admin.php:3851
|
1599 |
msgid "Hide Notifications Center in SEOPress Dashboard page"
|
1600 |
msgstr "Masquer le Centre de Notifications du Tableau de Bord de SEOPress"
|
1601 |
|
1602 |
+
#: inc/admin/admin.php:3868
|
1603 |
msgid "Add title column"
|
1604 |
msgstr "Ajouter la colonne Titre"
|
1605 |
|
1606 |
+
#: inc/admin/admin.php:3885
|
1607 |
msgid "Add meta description column"
|
1608 |
msgstr "Ajouter la colonne meta description"
|
1609 |
|
1610 |
+
#: inc/admin/admin.php:3902
|
1611 |
msgid "Display noindex status"
|
1612 |
msgstr "Affiche le statut noindex"
|
1613 |
|
1614 |
+
#: inc/admin/admin.php:3919
|
1615 |
msgid "Display nofollow status"
|
1616 |
msgstr "Affiche le statut nofollow"
|
1617 |
|
1618 |
+
#: inc/admin/admin.php:3936
|
1619 |
+
msgid "Remove Genesis SEO Metaboxe"
|
1620 |
+
msgstr "Supprimer la metaboxe Genesis SEO"
|
1621 |
+
|
1622 |
#: inc/functions/options-advanced-admin.php:77
|
1623 |
+
#: inc/functions/options-advanced-admin.php:463
|
1624 |
msgid "Title tag"
|
1625 |
msgstr "Balise Titre"
|
1626 |
|
1636 |
msgid "Nofollow?"
|
1637 |
msgstr "Nofollow ?"
|
1638 |
|
1639 |
+
#: inc/functions/options-advanced-admin.php:290
|
1640 |
+
msgid "Enable noindex"
|
1641 |
+
msgstr "Définir sur noindex"
|
1642 |
+
|
1643 |
+
#: inc/functions/options-advanced-admin.php:329
|
1644 |
+
msgid "Enable index"
|
1645 |
+
msgstr "Définir sur index"
|
1646 |
+
|
1647 |
+
#: inc/functions/options-advanced-admin.php:369
|
1648 |
+
msgid "Enable nofollow"
|
1649 |
+
msgstr "Définir sur nofollow"
|
1650 |
+
|
1651 |
+
#: inc/functions/options-advanced-admin.php:408
|
1652 |
+
msgid "Enable follow"
|
1653 |
+
msgstr "Définir sur follow"
|
1654 |
+
|
1655 |
#: inc/functions/options-import-export.php:48
|
1656 |
msgid "Please upload a valid .json file"
|
1657 |
msgstr "Veuillez uploader un fichier JSON valide"
|
1660 |
msgid "Please upload a file to import"
|
1661 |
msgstr "Uploader un fichier à importer SVP"
|
1662 |
|
1663 |
+
#: seopress.php:219
|
1664 |
msgid "Settings"
|
1665 |
msgstr "Paramètres"
|
1666 |
|
1667 |
+
#: seopress.php:220
|
1668 |
msgid "SEOPress.org"
|
1669 |
msgstr "SEOPress.org"
|
1670 |
|
1671 |
+
#: seopress.php:222
|
1672 |
msgid "GO PRO!"
|
1673 |
msgstr "PASSEZ PRO !"
|
1674 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://seopress.org/
|
|
4 |
Tags: seo, search engine optimization, meta, title, description, keywords, serp, knowledge grah, schema.org, url, redirection, 301, xml sitemap, breadcrumbs, ranking, google analytics, woocommerce, dublin core, rich snippets, 404, html sitemap
|
5 |
Requires at least: 4.4+
|
6 |
Tested up to: 4.7
|
7 |
-
Stable tag: 1.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -45,6 +45,7 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic and impro
|
|
45 |
<li>Structured Data types</li>
|
46 |
<li>Breadcrumbs</li>
|
47 |
<li>Google Page Speed</li>
|
|
|
48 |
<li>Robots</li>
|
49 |
<li>Google News Sitemap</li>
|
50 |
<li>404 Monitoring</li>
|
@@ -108,6 +109,16 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic and impro
|
|
108 |
30. Structured Data Types metaboxe in post, page, custom post type
|
109 |
|
110 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
= 1.4 =
|
112 |
* NEW Remove /category/ in permalinks (works with Polylang and WPML)
|
113 |
* NEW Show/Hide Notifications Center
|
4 |
Tags: seo, search engine optimization, meta, title, description, keywords, serp, knowledge grah, schema.org, url, redirection, 301, xml sitemap, breadcrumbs, ranking, google analytics, woocommerce, dublin core, rich snippets, 404, html sitemap
|
5 |
Requires at least: 4.4+
|
6 |
Tested up to: 4.7
|
7 |
+
Stable tag: 1.5
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
45 |
<li>Structured Data types</li>
|
46 |
<li>Breadcrumbs</li>
|
47 |
<li>Google Page Speed</li>
|
48 |
+
<li>Google Analytics Stats in Dashboard</li>
|
49 |
<li>Robots</li>
|
50 |
<li>Google News Sitemap</li>
|
51 |
<li>404 Monitoring</li>
|
109 |
30. Structured Data Types metaboxe in post, page, custom post type
|
110 |
|
111 |
== Changelog ==
|
112 |
+
= 1.5 =
|
113 |
+
* NEW Google Analytics Stats in Dashboard with interactive charts (SEOPress PRO only)
|
114 |
+
* NEW Add new advices in Notifications center
|
115 |
+
* NEW Add bulk actions to enable/disable noindex/nofollow/index/follow
|
116 |
+
* NEW Hide Genesis SEO Metaboxe (in Advanced page, appearance tab)
|
117 |
+
* INFO You can now reset notifications display settings in Import/Export/Reset page
|
118 |
+
* INFO Enhanced Google Snippet Preview
|
119 |
+
* FIX Conflict with AIT Themes
|
120 |
+
* FIX some undefined notices
|
121 |
+
* FIX Notice admin_header
|
122 |
= 1.4 =
|
123 |
* NEW Remove /category/ in permalinks (works with Polylang and WPML)
|
124 |
* NEW Show/Hide Notifications Center
|
seopress.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
Plugin Name: SEOPress
|
5 |
Plugin URI: http://seopress.org/
|
6 |
Description: The best SEO plugin.
|
7 |
-
Version: 1.
|
8 |
Author: Benjamin DENIS
|
9 |
Author URI: http://seopress.org/
|
10 |
License: GPLv2
|
@@ -34,29 +34,6 @@ if ( !function_exists( 'add_action' ) ) {
|
|
34 |
exit;
|
35 |
}
|
36 |
|
37 |
-
///////////////////////////////////////////////////////////////////////////////////////////////////
|
38 |
-
//Tracking
|
39 |
-
///////////////////////////////////////////////////////////////////////////////////////////////////
|
40 |
-
require_once __DIR__ . '/wpgod/vendor/autoload.php';
|
41 |
-
|
42 |
-
use WPGodWpseopress\WPGod;
|
43 |
-
|
44 |
-
$wpgod3545d44c7f14185 = new WPGod(
|
45 |
-
array(
|
46 |
-
"type_development" => "plugin",
|
47 |
-
"plugin_file" => plugin_basename(__FILE__),
|
48 |
-
"basename" => dirname(plugin_basename(__FILE__)),
|
49 |
-
"token" => "3545d44c7f14185a1bd17412521e5356b60065c0",
|
50 |
-
"prevent_user" => true,
|
51 |
-
"name_transient" => "wpgod_3545d44c7f14185a1bd17412",
|
52 |
-
"rules_ignore" => array(
|
53 |
-
|
54 |
-
),
|
55 |
-
"environment" => 60
|
56 |
-
)
|
57 |
-
);
|
58 |
-
$wpgod3545d44c7f14185->execute();
|
59 |
-
|
60 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
61 |
//Hooks activation
|
62 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
@@ -79,7 +56,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
|
|
79 |
//Define
|
80 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
81 |
|
82 |
-
define( 'SEOPRESS_VERSION', '1.
|
83 |
define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
|
84 |
|
85 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
@@ -197,6 +174,11 @@ function seopress_add_admin_options_scripts($hook) {
|
|
197 |
|
198 |
}
|
199 |
}
|
|
|
|
|
|
|
|
|
|
|
200 |
}
|
201 |
|
202 |
add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1);
|
@@ -205,7 +187,7 @@ add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1)
|
|
205 |
//Admin Body Class
|
206 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
207 |
|
208 |
-
add_filter( 'admin_body_class', 'seopress_admin_body_class' );
|
209 |
function seopress_admin_body_class( $classes ) {
|
210 |
if ((isset($_GET['page']) && ($_GET['page'] == 'seopress-option'))
|
211 |
|| (isset($_GET['page']) && ($_GET['page'] == 'seopress-titles'))
|
4 |
Plugin Name: SEOPress
|
5 |
Plugin URI: http://seopress.org/
|
6 |
Description: The best SEO plugin.
|
7 |
+
Version: 1.5
|
8 |
Author: Benjamin DENIS
|
9 |
Author URI: http://seopress.org/
|
10 |
License: GPLv2
|
34 |
exit;
|
35 |
}
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
38 |
//Hooks activation
|
39 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
56 |
//Define
|
57 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
58 |
|
59 |
+
define( 'SEOPRESS_VERSION', '1.5' );
|
60 |
define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
|
61 |
|
62 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
174 |
|
175 |
}
|
176 |
}
|
177 |
+
|
178 |
+
//Quick Edit
|
179 |
+
if ( 'edit.php' === $hook && isset( $_GET['post_type'] )) {
|
180 |
+
wp_enqueue_script( 'seopress-quick-edit', plugins_url('assets/js/seopress-quick-edit.js', __FILE__), array('jquery'), '', true );
|
181 |
+
}
|
182 |
}
|
183 |
|
184 |
add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1);
|
187 |
//Admin Body Class
|
188 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
189 |
|
190 |
+
add_filter( 'admin_body_class', 'seopress_admin_body_class', 9 );
|
191 |
function seopress_admin_body_class( $classes ) {
|
192 |
if ((isset($_GET['page']) && ($_GET['page'] == 'seopress-option'))
|
193 |
|| (isset($_GET['page']) && ($_GET['page'] == 'seopress-titles'))
|
wpgod/composer-temp.phar
DELETED
Binary file
|
wpgod/composer.json
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "Gmulti/WPGod",
|
3 |
-
"description": "Library Tracker errors WordPress",
|
4 |
-
"license": "GPL",
|
5 |
-
"authors": [
|
6 |
-
{
|
7 |
-
"name": "Thomas DENEULIN",
|
8 |
-
"email": "contact@wp-god.com"
|
9 |
-
}
|
10 |
-
],
|
11 |
-
"autoload": {
|
12 |
-
"psr-4": {
|
13 |
-
"WPGodWpseopress\\": "src/WPGod/"
|
14 |
-
}
|
15 |
-
}
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/composer.phar
DELETED
Binary file
|
wpgod/public/js/send-error.js
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function($){
|
2 |
-
$.post(
|
3 |
-
configGodError.url,
|
4 |
-
{
|
5 |
-
'action': configGodError.action
|
6 |
-
}
|
7 |
-
);
|
8 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/public/js/send-tracking-general.js
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function($){
|
2 |
-
$.post(
|
3 |
-
configGodTrackingGeneral.url,
|
4 |
-
{
|
5 |
-
'action': configGodTrackingGeneral.action
|
6 |
-
}
|
7 |
-
);
|
8 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Handler/GodAdminNoticeHandler.php
DELETED
@@ -1,118 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Handler;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Services\GodAbstractService;
|
6 |
-
use WPGodWpseopress\Helpers\GodTypeDevelopment;
|
7 |
-
use WPGodWpseopress\Models\HooksInterface;
|
8 |
-
use WPGodWpseopress\WPGod;
|
9 |
-
|
10 |
-
/**
|
11 |
-
*
|
12 |
-
* GodAdminNoticeHandler
|
13 |
-
*
|
14 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
15 |
-
* @version 1.0.0
|
16 |
-
* @since 1.0.0
|
17 |
-
*/
|
18 |
-
class GodAdminNoticeHandler extends GodAbstractService implements HooksInterface {
|
19 |
-
|
20 |
-
public function __construct($services = array(), $helpers = array(), $preventUser = false){
|
21 |
-
|
22 |
-
parent::__construct($services, $helpers);
|
23 |
-
|
24 |
-
$this->preventUser = $preventUser;
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
|
29 |
-
public function hooks(){
|
30 |
-
if($this->preventUser){
|
31 |
-
add_action( 'admin_notices', array( $this, 'preventMonitoring' ) );
|
32 |
-
add_action( 'admin_init', array( $this, 'checkForMonitoring' ) );
|
33 |
-
}
|
34 |
-
}
|
35 |
-
|
36 |
-
|
37 |
-
public function checkForMonitoring() {
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
if ( ! current_user_can( 'manage_options' ) && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
|
42 |
-
return;
|
43 |
-
}
|
44 |
-
|
45 |
-
|
46 |
-
if(isset($_GET["wpgod_seopress_action"]) &&
|
47 |
-
in_array($_GET["wpgod_seopress_action"], array("opt_in", "opt_out"))){
|
48 |
-
|
49 |
-
$hide_notice = get_option( 'wpgod_seopress_tracking_notice' );
|
50 |
-
|
51 |
-
if( $hide_notice ) {
|
52 |
-
return;
|
53 |
-
}
|
54 |
-
|
55 |
-
update_option( 'wpgod_seopress_tracking_notice', 1);
|
56 |
-
|
57 |
-
switch ($_GET["wpgod_seopress_action"]) {
|
58 |
-
case 'opt_in':
|
59 |
-
update_option("wpgod_seopress_allow_tracking", 1);
|
60 |
-
break;
|
61 |
-
|
62 |
-
case "opt_out":
|
63 |
-
update_option("wpgod_seopress_allow_tracking", 0);
|
64 |
-
break;
|
65 |
-
}
|
66 |
-
}
|
67 |
-
}
|
68 |
-
|
69 |
-
|
70 |
-
public function preventMonitoring(){
|
71 |
-
$hide_notice = get_option( 'wpgod_seopress_tracking_notice' );
|
72 |
-
|
73 |
-
if( $hide_notice ) {
|
74 |
-
return;
|
75 |
-
}
|
76 |
-
|
77 |
-
if( get_option( 'wpgod_seopress_allow_tracking', false ) ) {
|
78 |
-
return;
|
79 |
-
}
|
80 |
-
|
81 |
-
if( ! current_user_can( 'manage_options' ) ) {
|
82 |
-
return;
|
83 |
-
}
|
84 |
-
|
85 |
-
if(
|
86 |
-
stristr( network_site_url( '/' ), 'dev' ) !== false ||
|
87 |
-
stristr( network_site_url( '/' ), 'localhost' ) !== false ||
|
88 |
-
stristr( network_site_url( '/' ), ':8888' ) !== false
|
89 |
-
) {
|
90 |
-
update_option( 'wpgod_seopress_tracking_notice', '1' );
|
91 |
-
} else {
|
92 |
-
$optinUrl = add_query_arg( 'wpgod_seopress_action', "opt_in" );
|
93 |
-
$optoutUrl = add_query_arg( 'wpgod_seopress_action', "opt_out" );
|
94 |
-
|
95 |
-
?>
|
96 |
-
<div class="updated">
|
97 |
-
<p>
|
98 |
-
Allow to track plugin SEOPress usage ? . No sensitive data is tracked.
|
99 |
-
<a href="<?php echo esc_url( $optinUrl ) ?>" class="button-secondary">Allow</a>
|
100 |
-
<a href="<?php echo esc_url( $optoutUrl ) ?>" class="button-secondary">Do not allow</a>
|
101 |
-
</p>
|
102 |
-
</div>
|
103 |
-
|
104 |
-
<?php
|
105 |
-
}
|
106 |
-
}
|
107 |
-
|
108 |
-
|
109 |
-
}
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Handler/GodErrorHandler.php
DELETED
@@ -1,136 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Handler;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\GodHandlerInterface;
|
6 |
-
use WPGodWpseopress\Services\GodAbstractService;
|
7 |
-
use WPGodWpseopress\Helpers\GodTypeDevelopment;
|
8 |
-
|
9 |
-
/**
|
10 |
-
*
|
11 |
-
* GodErrorHandler
|
12 |
-
*
|
13 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
14 |
-
* @version 1.0.0
|
15 |
-
* @since 1.0.0
|
16 |
-
*/
|
17 |
-
class GodErrorHandler extends GodAbstractService implements GodHandlerInterface{
|
18 |
-
|
19 |
-
public static $functionExclude = array(
|
20 |
-
"getBackTrace",
|
21 |
-
"register_error",
|
22 |
-
"godErrorHandler",
|
23 |
-
"godErrorShutdownHandler",
|
24 |
-
"verifyExistErrors"
|
25 |
-
);
|
26 |
-
|
27 |
-
public function __construct($services = array(), $helpers = array(), $pause = false){
|
28 |
-
|
29 |
-
parent::__construct($services, $helpers);
|
30 |
-
|
31 |
-
if(!$pause):
|
32 |
-
set_error_handler(array($this, 'godErrorHandler'));
|
33 |
-
register_shutdown_function(array($this, 'godErrorShutdownHandler'));
|
34 |
-
|
35 |
-
endif;
|
36 |
-
}
|
37 |
-
|
38 |
-
|
39 |
-
public function checkLibraryPlugin($file){
|
40 |
-
|
41 |
-
$pluginDir = dirname(str_replace(WP_PLUGIN_DIR, "", $file));
|
42 |
-
$namespaceName = "\WPGod" . ucfirst(str_replace("/", "", $pluginDir));
|
43 |
-
$class = $namespaceName . "\Services\GodApi";
|
44 |
-
if(file_exists(WP_PLUGIN_DIR . $pluginDir . '/wpgod/src/WPGod/Services/GodApi.php') &&
|
45 |
-
method_exists($class, "getNameTransientOtherStatic") &&
|
46 |
-
method_exists($class, "getNameTransientAlreadyCheck")){
|
47 |
-
return array(
|
48 |
-
"already_check" => $class::getNameTransientAlreadyCheck(),
|
49 |
-
"other" => $class::getNameTransientOtherStatic()
|
50 |
-
);
|
51 |
-
}
|
52 |
-
|
53 |
-
return false;
|
54 |
-
|
55 |
-
}
|
56 |
-
|
57 |
-
public function godErrorHandler($code, $message, $file, $line, $ctx = array()) {
|
58 |
-
$serializeParams = array(
|
59 |
-
"file" => $file,
|
60 |
-
"code" => $code,
|
61 |
-
"line" => $line,
|
62 |
-
"message" => $message
|
63 |
-
);
|
64 |
-
if($this->getService("GodAuthorizeError")->authorizeHandler($file, $code) &&
|
65 |
-
!$this->getService("GodAuthorizeError")->checkAlreadyTrack($serializeParams) ) {
|
66 |
-
|
67 |
-
$this->code = $code;
|
68 |
-
$this->message = $message;
|
69 |
-
$this->file = $file;
|
70 |
-
$this->line = $line;
|
71 |
-
$this->ctx = $ctx;
|
72 |
-
|
73 |
-
$this->registerError();
|
74 |
-
|
75 |
-
$transients = $this->checkLibraryPlugin($file);
|
76 |
-
|
77 |
-
if($transients && !$this->getService("GodAuthorizeError")->checkAlreadyTrack($serializeParams, $transients["already_check"])){
|
78 |
-
$this->registerError($transients["other"]);
|
79 |
-
}
|
80 |
-
|
81 |
-
}
|
82 |
-
}
|
83 |
-
|
84 |
-
protected function registerError($nameTransient = null){
|
85 |
-
|
86 |
-
$this->file = addslashes($this->file);
|
87 |
-
|
88 |
-
global $wp_version;
|
89 |
-
$locale = get_locale();
|
90 |
-
$locale = str_replace('_', '-', $locale);
|
91 |
-
|
92 |
-
|
93 |
-
$pluginData = $this->getHelper("GodEnvironmentInfo")->getPluginData($this->getService("GodApi")->getPluginFile());
|
94 |
-
|
95 |
-
$version = $this->getService("GodApi")->getVersion();
|
96 |
-
if($pluginData){
|
97 |
-
$version = $pluginData["plugin_version"];
|
98 |
-
}
|
99 |
-
|
100 |
-
$params = array(
|
101 |
-
"file" => $this->file,
|
102 |
-
"message" => $this->message,
|
103 |
-
"line" => $this->line,
|
104 |
-
"code" => $this->code,
|
105 |
-
"wp_infos" => array(
|
106 |
-
"wp_version" => $wp_version,
|
107 |
-
"blog_id" => get_current_blog_id(),
|
108 |
-
"wp_local_package" => $locale
|
109 |
-
),
|
110 |
-
"server_infos" => $this->getHelper("GodServerInfo")->getInfosServerForSavePost(),
|
111 |
-
"version" => $version,
|
112 |
-
"home_url" => get_home_url(),
|
113 |
-
"php_version" => PHP_VERSION
|
114 |
-
);
|
115 |
-
|
116 |
-
$this->getService("GodApi")->saveError($params, $nameTransient);
|
117 |
-
}
|
118 |
-
|
119 |
-
public function godErrorShutdownHandler(){
|
120 |
-
|
121 |
-
$last_error = error_get_last();
|
122 |
-
if ($last_error !== null) {
|
123 |
-
$this->godErrorHandler($last_error['type'], $last_error['message'], $last_error['file'], $last_error['line']);
|
124 |
-
}
|
125 |
-
}
|
126 |
-
|
127 |
-
}
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Handler/GodTrackingHandler.php
DELETED
@@ -1,101 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Handler;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Services\GodAbstractService;
|
6 |
-
use WPGodWpseopress\Helpers\GodTypeDevelopment;
|
7 |
-
use WPGodWpseopress\Models\HooksInterface;
|
8 |
-
use WPGodWpseopress\WPGod;
|
9 |
-
|
10 |
-
/**
|
11 |
-
*
|
12 |
-
* GodTrackingHandler
|
13 |
-
*
|
14 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
15 |
-
* @version 1.0.0
|
16 |
-
* @since 1.0.0
|
17 |
-
*/
|
18 |
-
class GodTrackingHandler extends GodAbstractService implements HooksInterface {
|
19 |
-
|
20 |
-
public function __construct($services = array(), $helpers = array(), $pause = false){
|
21 |
-
|
22 |
-
parent::__construct($services, $helpers);
|
23 |
-
|
24 |
-
$this->pause = $pause;
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
|
29 |
-
public function hooks(){
|
30 |
-
$apiService = $this->getService('GodApi');
|
31 |
-
|
32 |
-
if(!$this->pause):
|
33 |
-
$lastDateCheck = $apiService::getLastCheckTrackingGeneral();
|
34 |
-
$intervalTracking = apply_filters("god_interval_tracking", 60 * 60 * 24 * 5);
|
35 |
-
$authorizeMonitoring = true;
|
36 |
-
|
37 |
-
$preventUser = $this->getService("GodApi")->getPreventUser();
|
38 |
-
|
39 |
-
if($preventUser){
|
40 |
-
|
41 |
-
$allowTracking = get_option('wpgod_seopress_allow_tracking');
|
42 |
-
|
43 |
-
if(!$allowTracking){
|
44 |
-
$authorizeMonitoring = false;
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
if((!$lastDateCheck || abs(time() - $lastDateCheck) > $intervalTracking) && $authorizeMonitoring){
|
49 |
-
$apiService::initLastCheckTrackingGeneral();
|
50 |
-
add_action('init', array($this, 'trackingGeneral'), 0);
|
51 |
-
add_action( 'wp_ajax_tracking_general', array($this, 'prefix_ajax_tracking_general') );
|
52 |
-
add_action( 'wp_ajax_nopriv_tracking_general', array($this, 'prefix_ajax_tracking_general') );
|
53 |
-
}
|
54 |
-
endif;
|
55 |
-
}
|
56 |
-
|
57 |
-
public function prefix_ajax_tracking_general(){
|
58 |
-
$serverInfos = $this->getHelper("GodServerInfo")->getTrackingServerData();
|
59 |
-
$wpInfos = $this->getHelper("GodEnvironmentInfo")->getAllDataEnvironment();
|
60 |
-
$pluginData = $this->getHelper("GodEnvironmentInfo")->getPluginData($this->getService("GodApi")->getPluginFile());
|
61 |
-
|
62 |
-
$this->getService("GodApi")->sendTrackingGeneral(array_merge($serverInfos, $wpInfos, $pluginData));
|
63 |
-
}
|
64 |
-
|
65 |
-
public function trackingGeneral(){
|
66 |
-
$pluginData = $this->getHelper("GodEnvironmentInfo")->getPluginData($this->getService("GodApi")->getPluginFile());
|
67 |
-
if(is_admin()){
|
68 |
-
add_action("admin_enqueue_scripts", array($this, "enqueue_script_god"));
|
69 |
-
}
|
70 |
-
else{
|
71 |
-
add_action("wp_enqueue_scripts", array($this, "enqueue_script_god"));
|
72 |
-
}
|
73 |
-
}
|
74 |
-
|
75 |
-
public function enqueue_script_god(){
|
76 |
-
$url = admin_url("admin-ajax.php");
|
77 |
-
$urlRegisterScript = sprintf("%s/%s.js", WPGod::$GOD_PATH_PUBLIC_JS, "send-tracking-general");
|
78 |
-
$uniqId = uniqid();
|
79 |
-
wp_register_script( $uniqId . '-god-js', $urlRegisterScript, array( 'jquery' ) );
|
80 |
-
|
81 |
-
$arr = array(
|
82 |
-
"url" => $url,
|
83 |
-
"action" => "tracking_general"
|
84 |
-
);
|
85 |
-
wp_localize_script( $uniqId . '-god-js', 'configGodTrackingGeneral', $arr );
|
86 |
-
|
87 |
-
wp_enqueue_script( $uniqId . '-god-js' );
|
88 |
-
}
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
}
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Helpers/GodEnvironmentInfo.php
DELETED
@@ -1,107 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Helpers;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\HelperInterface;
|
6 |
-
|
7 |
-
/**
|
8 |
-
* GodServerInfo
|
9 |
-
*
|
10 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
11 |
-
* @version 2.0.0
|
12 |
-
* @since 1.0.0
|
13 |
-
*/
|
14 |
-
class GodEnvironmentInfo implements HelperInterface {
|
15 |
-
|
16 |
-
public function getThemeData(){
|
17 |
-
if ( get_bloginfo( 'version' ) < '3.4' ) {
|
18 |
-
$themeData = get_theme_data( get_stylesheet_directory() . '/style.css' );
|
19 |
-
$theme = $themeData['Name'] . ' ' . $themeData['Version'];
|
20 |
-
} else {
|
21 |
-
$themeData = wp_get_theme();
|
22 |
-
$theme = $themeData->Name . ' ' . $themeData->Version;
|
23 |
-
}
|
24 |
-
|
25 |
-
return array(
|
26 |
-
"theme" => $theme,
|
27 |
-
"theme_data" => $themeData
|
28 |
-
);
|
29 |
-
}
|
30 |
-
|
31 |
-
public function getAllDataEnvironment(){
|
32 |
-
|
33 |
-
$data = array();
|
34 |
-
try {
|
35 |
-
|
36 |
-
$themeData = $this->getThemeData();
|
37 |
-
$data['admin_email'] = get_bloginfo( 'admin_email' );
|
38 |
-
$data['locale'] = get_locale();
|
39 |
-
$data["multisite"] = is_multisite();
|
40 |
-
$data["site_url"] = site_url();
|
41 |
-
$data["home_url"] = home_url();
|
42 |
-
$data["wp_version"] = get_bloginfo( 'version' );
|
43 |
-
$data["permalink_structure"] = get_option( 'permalink_structure' );
|
44 |
-
$data["active_theme"] = $themeData["theme"];
|
45 |
-
|
46 |
-
$data["registered_post_stati"] = implode( ', ', get_post_stati());
|
47 |
-
$data["wp_debug"] = defined( 'WP_DEBUG' )? WP_DEBUG : false;
|
48 |
-
|
49 |
-
|
50 |
-
return $data;
|
51 |
-
|
52 |
-
} catch (\Exception $e) {
|
53 |
-
return $data;
|
54 |
-
}
|
55 |
-
|
56 |
-
}
|
57 |
-
|
58 |
-
public function getPluginData($pluginFile){
|
59 |
-
if ( ! function_exists( 'get_plugins' ) ) {
|
60 |
-
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
61 |
-
}
|
62 |
-
|
63 |
-
$plugins = get_plugins();
|
64 |
-
$active_plugins = get_option( 'active_plugins', array() );
|
65 |
-
|
66 |
-
$pluginData = null;
|
67 |
-
foreach ( $plugins as $plugin_path => $plugin ) {
|
68 |
-
if ( ! in_array( $plugin_path, $active_plugins ) || $plugin_path != $pluginFile)
|
69 |
-
continue;
|
70 |
-
|
71 |
-
$pluginData = $plugin;
|
72 |
-
break;
|
73 |
-
}
|
74 |
-
|
75 |
-
return array(
|
76 |
-
"plugin_version" => $pluginData['Version']
|
77 |
-
);
|
78 |
-
}
|
79 |
-
|
80 |
-
public function getPluginDataMultisite($pluginFile){
|
81 |
-
|
82 |
-
if ( !is_multisite() ){
|
83 |
-
return false;
|
84 |
-
}
|
85 |
-
|
86 |
-
$plugins = wp_get_active_network_plugins();
|
87 |
-
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
88 |
-
$pluginData = null;
|
89 |
-
|
90 |
-
foreach ( $plugins as $plugin_path ) {
|
91 |
-
$plugin_base = plugin_basename( $plugin_path );
|
92 |
-
|
93 |
-
if ( ! array_key_exists( $plugin_base, $active_plugins ) || $plugin_path != $pluginFile )
|
94 |
-
continue;
|
95 |
-
|
96 |
-
$pluginData = $plugin;
|
97 |
-
break;
|
98 |
-
}
|
99 |
-
|
100 |
-
return array(
|
101 |
-
"plugin_version" => $pluginData['Version']
|
102 |
-
);
|
103 |
-
}
|
104 |
-
|
105 |
-
}
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Helpers/GodError.php
DELETED
@@ -1,73 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Helpers;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\HelperInterface;
|
6 |
-
|
7 |
-
/**
|
8 |
-
* GodError
|
9 |
-
*
|
10 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
11 |
-
* @version 2.0.0
|
12 |
-
* @since 1.0.0
|
13 |
-
*/
|
14 |
-
class GodError implements HelperInterface {
|
15 |
-
|
16 |
-
protected $errors;
|
17 |
-
|
18 |
-
protected $froms;
|
19 |
-
|
20 |
-
public function __construct(){
|
21 |
-
$this->errors = apply_filters("_god_list_errors",
|
22 |
-
array(
|
23 |
-
0 => 'E_UNKNOWN',
|
24 |
-
1 => 'E_ERROR',
|
25 |
-
2 => 'E_WARNING',
|
26 |
-
4 => 'E_PARSE',
|
27 |
-
8 => 'E_NOTICE',
|
28 |
-
16 => 'E_CORE_ERROR',
|
29 |
-
32 => 'E_CORE_WARNING',
|
30 |
-
64 => 'E_COMPILE_ERROR',
|
31 |
-
128 => 'E_COMPILE_WARNING',
|
32 |
-
256 => 'E_USER_ERROR',
|
33 |
-
512 => 'E_USER_WARNING',
|
34 |
-
1024 => 'E_USER_NOTICE',
|
35 |
-
2048 => 'E_STRICT',
|
36 |
-
4096 => 'E_RECOVERABLE_ERROR',
|
37 |
-
8192 => 'E_DEPRECATED',
|
38 |
-
16384 => 'E_USER_DEPRECATED',
|
39 |
-
32767 => 'E_ALL'
|
40 |
-
)
|
41 |
-
);
|
42 |
-
|
43 |
-
}
|
44 |
-
|
45 |
-
public function getErrors(){
|
46 |
-
return $this->errors;
|
47 |
-
}
|
48 |
-
|
49 |
-
public function getFroms(){
|
50 |
-
return $this->froms;
|
51 |
-
}
|
52 |
-
|
53 |
-
|
54 |
-
public function getStringError($errno){
|
55 |
-
$errors = self::getErrors();
|
56 |
-
|
57 |
-
if(array_key_exists($errno, $errors)){
|
58 |
-
return $errors[$errno];
|
59 |
-
}
|
60 |
-
|
61 |
-
return 'E_UNKNOWN';
|
62 |
-
}
|
63 |
-
|
64 |
-
}
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Helpers/GodServerInfo.php
DELETED
@@ -1,101 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Helpers;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\HelperInterface;
|
6 |
-
|
7 |
-
/**
|
8 |
-
* GodServerInfo
|
9 |
-
*
|
10 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
11 |
-
* @version 2.0.0
|
12 |
-
* @since 1.0.0
|
13 |
-
*/
|
14 |
-
class GodServerInfo implements HelperInterface {
|
15 |
-
|
16 |
-
|
17 |
-
public function getInfosServerForSavePost(){
|
18 |
-
$data["is_ajax"] = (defined('DOING_AJAX') && DOING_AJAX) ? true : false;
|
19 |
-
$data['HTTP_HOST'] = esc_html( $_SERVER['HTTP_HOST'] );
|
20 |
-
$data['SERVER_ADDR'] = $_SERVER['SERVER_ADDR'];
|
21 |
-
$data['SERVER_PORT'] = $_SERVER['SERVER_PORT'];
|
22 |
-
$data['REQUEST_URI'] = str_replace( '&nbsp;', ' ', esc_html( $_SERVER['REQUEST_URI'] ) );
|
23 |
-
$data["php_safe_mode"] = ini_get( 'safe_mode' );
|
24 |
-
$data["php_memory_limit"] = ini_get( 'memory_limit' );
|
25 |
-
$data["php_upload_max_size"] = ini_get( 'upload_max_filesize' );
|
26 |
-
$data["php_post_max_size"] = ini_get( 'post_max_size' );
|
27 |
-
$data["php_upload_max_filesize"] = ini_get( 'upload_max_filesize' );
|
28 |
-
$data["php_time_limit"] = ini_get( 'max_execution_time' );
|
29 |
-
$data["php_max_input_vars"] = ini_get( 'max_input_vars' );
|
30 |
-
$data["php_arg_separator"] = ini_get( 'arg_separator.output' );
|
31 |
-
$data["php_allow_url_file_open"] = ini_get( 'allow_url_fopen' );
|
32 |
-
$data["wp_memory_limit"] = WP_MEMORY_LIMIT;
|
33 |
-
$data["session"] = isset( $_SESSION );
|
34 |
-
$data["cookies"] = ini_get( 'session.use_cookies' );
|
35 |
-
$data["only_cookies"] = ini_get( 'session.use_only_cookies' );
|
36 |
-
$data["display_errors"] = ini_get( 'display_errors' );
|
37 |
-
$data["fsockopen"] = function_exists( 'fsockopen' );
|
38 |
-
$data["curl"] = function_exists( 'curl_init' );
|
39 |
-
$data["soap"] = class_exists( 'SoapClient');
|
40 |
-
$data["suhosin"] = extension_loaded( 'suhosin' );
|
41 |
-
|
42 |
-
$data["active_plugins"] = array();
|
43 |
-
$data["network_active_plugins"] = array();
|
44 |
-
|
45 |
-
if ( ! function_exists( 'get_plugins' ) ) {
|
46 |
-
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
47 |
-
}
|
48 |
-
$plugins = get_plugins();
|
49 |
-
$active_plugins = get_option( 'active_plugins', array() );
|
50 |
-
|
51 |
-
$i = 0;
|
52 |
-
foreach ( $plugins as $plugin_path => $plugin ) {
|
53 |
-
if ( ! in_array( $plugin_path, $active_plugins ) )
|
54 |
-
continue;
|
55 |
-
$data["active_plugins"][$i]["name"] = $plugin['Name'];
|
56 |
-
$data["active_plugins"][$i]["version"] = $plugin['Version'];
|
57 |
-
$i++;
|
58 |
-
}
|
59 |
-
|
60 |
-
if ( is_multisite() ){
|
61 |
-
$i = 0;
|
62 |
-
$plugins = wp_get_active_network_plugins();
|
63 |
-
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
64 |
-
|
65 |
-
foreach ( $plugins as $plugin_path ) {
|
66 |
-
$plugin_base = plugin_basename( $plugin_path );
|
67 |
-
|
68 |
-
if ( ! array_key_exists( $plugin_base, $active_plugins ) )
|
69 |
-
continue;
|
70 |
-
|
71 |
-
$plugin = get_plugin_data( $plugin_path );
|
72 |
-
|
73 |
-
$data["network_active_plugins"][$i]["name"] = $plugin['Name'];
|
74 |
-
$data["network_active_plugins"][$i]["version"] = $plugin['Version'];
|
75 |
-
$i++;
|
76 |
-
}
|
77 |
-
}
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
return $data;
|
82 |
-
}
|
83 |
-
|
84 |
-
public function getTrackingServerData(){
|
85 |
-
|
86 |
-
$data = array();
|
87 |
-
if(function_exists("mysql_get_server_info")){
|
88 |
-
$data["mysql_version"] = mysql_get_server_info();
|
89 |
-
}
|
90 |
-
|
91 |
-
$data["web_server"] = $_SERVER['SERVER_SOFTWARE'];
|
92 |
-
$data['server_addr'] = $_SERVER['SERVER_ADDR'];
|
93 |
-
$data["php_version"] = PHP_VERSION;
|
94 |
-
|
95 |
-
return $data;
|
96 |
-
}
|
97 |
-
|
98 |
-
|
99 |
-
}
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Helpers/GodTypeDevelopment.php
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Helpers;
|
4 |
-
|
5 |
-
|
6 |
-
/**
|
7 |
-
* GodTypeDevelopment
|
8 |
-
*
|
9 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
10 |
-
* @version 2.0.0
|
11 |
-
* @since 1.0.0
|
12 |
-
*/
|
13 |
-
abstract class GodTypeDevelopment {
|
14 |
-
|
15 |
-
const PLUGIN = "plugin";
|
16 |
-
const THEME = "theme";
|
17 |
-
const SITE = "site";
|
18 |
-
const MU_PLUGIN = "mu-plugin";
|
19 |
-
}
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/GodHandlerInterface.php
DELETED
@@ -1,34 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
namespace WPGodWpseopress\Models;
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
* @version 1.0.0
|
9 |
-
* @since 1.0.0
|
10 |
-
*
|
11 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
interface GodHandlerInterface{
|
15 |
-
/**
|
16 |
-
*
|
17 |
-
* @version 1.0.0
|
18 |
-
* @version 1.0.0
|
19 |
-
* @access public
|
20 |
-
*
|
21 |
-
* @return void
|
22 |
-
*/
|
23 |
-
public function godErrorHandler($code, $message, $file, $line, $ctx);
|
24 |
-
|
25 |
-
/**
|
26 |
-
*
|
27 |
-
* @version 1.0.0
|
28 |
-
* @version 1.0.0
|
29 |
-
* @access public
|
30 |
-
*
|
31 |
-
* @return void
|
32 |
-
*/
|
33 |
-
public function godErrorShutdownHandler();
|
34 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/HelperInterface.php
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
namespace WPGodWpseopress\Models;
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
* @version 2.0.0
|
9 |
-
* @since 2.0.0
|
10 |
-
*
|
11 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
interface HelperInterface{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/HooksInterface.php
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
namespace WPGodWpseopress\Models;
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
* @version 1.0.0
|
9 |
-
* @since 1.0.0
|
10 |
-
*
|
11 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
interface HooksInterface{
|
15 |
-
/**
|
16 |
-
* Execute hooks
|
17 |
-
*
|
18 |
-
* @version 1.0.0
|
19 |
-
* @version 1.0.0
|
20 |
-
* @access public
|
21 |
-
*
|
22 |
-
* @return void
|
23 |
-
*/
|
24 |
-
public function hooks();
|
25 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/ServiceInterface.php
DELETED
@@ -1,14 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
namespace WPGodWpseopress\Models;
|
5 |
-
|
6 |
-
/**
|
7 |
-
*
|
8 |
-
* @version 1.0.0
|
9 |
-
* @since 1.0.0
|
10 |
-
*
|
11 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
interface ServiceInterface{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/Specification/AbstractSpecification.php
DELETED
@@ -1,55 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WPGodWpseopress\Models\Specification;
|
3 |
-
|
4 |
-
use WPGodWpseopress\Models\Specification\SpecificationInterface;
|
5 |
-
use WPGodWpseopress\Models\Specification\AndX;
|
6 |
-
use WPGodWpseopress\Models\Specification\OrX;
|
7 |
-
use WPGodWpseopress\Models\Specification\NotX;
|
8 |
-
|
9 |
-
/**
|
10 |
-
* @version 1.0.0
|
11 |
-
* @since 1.0.0
|
12 |
-
*
|
13 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
14 |
-
*/
|
15 |
-
abstract class AbstractSpecification implements SpecificationInterface
|
16 |
-
{
|
17 |
-
/**
|
18 |
-
*
|
19 |
-
* @param $item
|
20 |
-
*
|
21 |
-
* @return bool
|
22 |
-
*/
|
23 |
-
abstract public function isSatisfiedBy($item);
|
24 |
-
|
25 |
-
/**
|
26 |
-
*
|
27 |
-
* @param SpecificationInterface $spec
|
28 |
-
*
|
29 |
-
* @return SpecificationInterface
|
30 |
-
*/
|
31 |
-
public function andX(SpecificationInterface $spec)
|
32 |
-
{
|
33 |
-
return new AndX($this, $spec);
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
*
|
38 |
-
* @param SpecificationInterface $spec
|
39 |
-
*
|
40 |
-
* @return SpecificationInterface
|
41 |
-
*/
|
42 |
-
public function orX(SpecificationInterface $spec)
|
43 |
-
{
|
44 |
-
return new OrX($this, $spec);
|
45 |
-
}
|
46 |
-
|
47 |
-
/**
|
48 |
-
*
|
49 |
-
* @return SpecificationInterface
|
50 |
-
*/
|
51 |
-
public function notX()
|
52 |
-
{
|
53 |
-
return new NotX($this);
|
54 |
-
}
|
55 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/Specification/AndX.php
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WPGodWpseopress\Models\Specification;
|
3 |
-
|
4 |
-
use WPGodWpseopress\Models\Specification\AbstractSpecification;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* @version 1.0.0
|
8 |
-
* @since 1.0.0
|
9 |
-
*
|
10 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
11 |
-
*/
|
12 |
-
class AndX extends AbstractSpecification
|
13 |
-
{
|
14 |
-
|
15 |
-
protected $left;
|
16 |
-
protected $right;
|
17 |
-
|
18 |
-
/**
|
19 |
-
*
|
20 |
-
* @param SpecificationInterface $left
|
21 |
-
* @param SpecificationInterface $right
|
22 |
-
*/
|
23 |
-
public function __construct(SpecificationInterface $left, SpecificationInterface $right)
|
24 |
-
{
|
25 |
-
$this->left = $left;
|
26 |
-
$this->right = $right;
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
*
|
31 |
-
* @param $item
|
32 |
-
*
|
33 |
-
* @return bool
|
34 |
-
*/
|
35 |
-
public function isSatisfiedBy($item)
|
36 |
-
{
|
37 |
-
return $this->left->isSatisfiedBy($item) && $this->right->isSatisfiedBy($item);
|
38 |
-
}
|
39 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/Specification/ContainsSpecification.php
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Models\Specification;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\Specification\AbstractSpecification;
|
6 |
-
|
7 |
-
class ContainsSpecification extends AbstractSpecification
|
8 |
-
{
|
9 |
-
public function __construct($string){
|
10 |
-
$this->string = $string;
|
11 |
-
}
|
12 |
-
|
13 |
-
public function isSatisfiedBy($item){
|
14 |
-
$pos = strpos($item, $this->string);
|
15 |
-
|
16 |
-
if ($pos === false) {
|
17 |
-
return false;
|
18 |
-
} else {
|
19 |
-
return true;
|
20 |
-
}
|
21 |
-
}
|
22 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/Specification/EqualsSpecification.php
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Models\Specification;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\Specification\AbstractSpecification;
|
6 |
-
|
7 |
-
class EqualsSpecification extends AbstractSpecification
|
8 |
-
{
|
9 |
-
public function __construct($string){
|
10 |
-
$this->string = $string;
|
11 |
-
}
|
12 |
-
|
13 |
-
public function isSatisfiedBy($item){
|
14 |
-
return $this->string == $item;
|
15 |
-
}
|
16 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/Specification/NotX.php
DELETED
@@ -1,36 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WPGodWpseopress\Models\Specification;
|
3 |
-
|
4 |
-
use WPGodWpseopress\Models\Specification\AbstractSpecification;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* @version 1.0.0
|
8 |
-
* @since 1.0.0
|
9 |
-
*
|
10 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
11 |
-
*/
|
12 |
-
class NotX extends AbstractSpecification
|
13 |
-
{
|
14 |
-
|
15 |
-
protected $specification;
|
16 |
-
|
17 |
-
/**
|
18 |
-
*
|
19 |
-
* @param SpecificationInterface $specification
|
20 |
-
*/
|
21 |
-
public function __construct(SpecificationInterface $specification)
|
22 |
-
{
|
23 |
-
$this->specification = $specification;
|
24 |
-
}
|
25 |
-
|
26 |
-
/**
|
27 |
-
*
|
28 |
-
* @param $item
|
29 |
-
*
|
30 |
-
* @return bool
|
31 |
-
*/
|
32 |
-
public function isSatisfiedBy($item)
|
33 |
-
{
|
34 |
-
return !$this->specification->isSatisfiedBy($item);
|
35 |
-
}
|
36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/Specification/OrX.php
DELETED
@@ -1,40 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WPGodWpseopress\Models\Specification;
|
3 |
-
|
4 |
-
use WPGodWpseopress\Models\Specification\AbstractSpecification;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* @version 1.0.0
|
8 |
-
* @since 1.0.0
|
9 |
-
*
|
10 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
11 |
-
*/
|
12 |
-
class OrX extends AbstractSpecification
|
13 |
-
{
|
14 |
-
|
15 |
-
protected $left;
|
16 |
-
|
17 |
-
protected $right;
|
18 |
-
|
19 |
-
/**
|
20 |
-
*
|
21 |
-
* @param SpecificationInterface $left
|
22 |
-
* @param SpecificationInterface $right
|
23 |
-
*/
|
24 |
-
public function __construct(SpecificationInterface $left, SpecificationInterface $right)
|
25 |
-
{
|
26 |
-
$this->left = $left;
|
27 |
-
$this->right = $right;
|
28 |
-
}
|
29 |
-
|
30 |
-
/**
|
31 |
-
*
|
32 |
-
* @param $item
|
33 |
-
*
|
34 |
-
* @return bool
|
35 |
-
*/
|
36 |
-
public function isSatisfiedBy($item)
|
37 |
-
{
|
38 |
-
return $this->left->isSatisfiedBy($item) || $this->right->isSatisfiedBy($item);
|
39 |
-
}
|
40 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Models/Specification/SpecificationInterface.php
DELETED
@@ -1,43 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WPGodWpseopress\Models\Specification;
|
3 |
-
|
4 |
-
|
5 |
-
/**
|
6 |
-
* @version 1.0.0
|
7 |
-
* @since 1.0.0
|
8 |
-
*
|
9 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
10 |
-
*/
|
11 |
-
interface SpecificationInterface
|
12 |
-
{
|
13 |
-
/**
|
14 |
-
* @version 1.0.0
|
15 |
-
* @since 1.0.0
|
16 |
-
*
|
17 |
-
*
|
18 |
-
* @return bool
|
19 |
-
*/
|
20 |
-
public function isSatisfiedBy($item);
|
21 |
-
|
22 |
-
/**
|
23 |
-
* @version 1.0.0
|
24 |
-
* @since 1.0.0
|
25 |
-
*
|
26 |
-
* @param SpecificationInterface $spec
|
27 |
-
*/
|
28 |
-
public function andX(SpecificationInterface $spec);
|
29 |
-
|
30 |
-
/**
|
31 |
-
* @version 1.0.0
|
32 |
-
* @since 1.0.0
|
33 |
-
*
|
34 |
-
* @param SpecificationInterface $spec
|
35 |
-
*/
|
36 |
-
public function orX(SpecificationInterface $spec);
|
37 |
-
|
38 |
-
/**
|
39 |
-
* @version 1.0.0
|
40 |
-
* @since 1.0.0
|
41 |
-
*/
|
42 |
-
public function notX();
|
43 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Services/GodAbstractService.php
DELETED
@@ -1,71 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
namespace WPGodWpseopress\Services;
|
3 |
-
|
4 |
-
use WPGodWpseopress\Models\ServiceInterface;
|
5 |
-
use WPGodWpseopress\Models\HelperInterface;
|
6 |
-
|
7 |
-
/**
|
8 |
-
* @version 2.0.0
|
9 |
-
* @since 2.0.0
|
10 |
-
*
|
11 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
12 |
-
*/
|
13 |
-
abstract class GodAbstractService
|
14 |
-
{
|
15 |
-
|
16 |
-
protected $services;
|
17 |
-
|
18 |
-
protected $helpers;
|
19 |
-
|
20 |
-
public function __construct($services = array(), $helpers = array()){
|
21 |
-
$this->setObjects($services);
|
22 |
-
$this->setObjects($helpers);
|
23 |
-
}
|
24 |
-
|
25 |
-
public function setObjects($objects){
|
26 |
-
|
27 |
-
foreach ($objects as $key => $value) {
|
28 |
-
$nameClass = join('', array_slice(explode('\\', get_class($value)), -1));
|
29 |
-
|
30 |
-
if($value instanceOf ServiceInterface){
|
31 |
-
$this->services[$nameClass] = $value;
|
32 |
-
}
|
33 |
-
else if($value instanceOf HelperInterface){
|
34 |
-
$this->helpers[$nameClass] = $value;
|
35 |
-
}
|
36 |
-
}
|
37 |
-
|
38 |
-
return $this;
|
39 |
-
}
|
40 |
-
|
41 |
-
public function getServices(){
|
42 |
-
return $this->services;
|
43 |
-
}
|
44 |
-
|
45 |
-
|
46 |
-
public function getObject($key, $type = "service"){
|
47 |
-
if($type === "service"){
|
48 |
-
if(!empty($this->services) && array_key_exists($key, $this->services) && $this->services[$key] instanceOf ServiceInterface){
|
49 |
-
return $this->services[$key];
|
50 |
-
}
|
51 |
-
}
|
52 |
-
else if($type === "helper"){
|
53 |
-
if(!empty($this->helpers) && array_key_exists($key, $this->helpers) && $this->helpers[$key] instanceOf HelperInterface){
|
54 |
-
return $this->helpers[$key];
|
55 |
-
}
|
56 |
-
}
|
57 |
-
|
58 |
-
return null;
|
59 |
-
}
|
60 |
-
|
61 |
-
public function getService($key){
|
62 |
-
return $this->getObject($key);
|
63 |
-
}
|
64 |
-
|
65 |
-
public function getHelper($key){
|
66 |
-
return $this->getObject($key, "helper");
|
67 |
-
}
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Services/GodApi.php
DELETED
@@ -1,148 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Services;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\ServiceInterface;
|
6 |
-
use WPGodWpseopress\WPGod;
|
7 |
-
|
8 |
-
class GodApi implements ServiceInterface
|
9 |
-
{
|
10 |
-
|
11 |
-
public static $NAME_TRANSIENT_OTHER = "wpgod_580f97c174717_site";
|
12 |
-
|
13 |
-
public static $NAME_TRANSIENT_ALREADY_CHECK = "wpgod_580f97c174754_already";
|
14 |
-
|
15 |
-
public static $LAST_CHECK_TRACKING_GENERAL = "wpgod_580f97c17478b_tracking_g";
|
16 |
-
|
17 |
-
public function __construct($params){
|
18 |
-
|
19 |
-
$this->basename = (isset($params["basename"])) ? $params["basename"] : null;
|
20 |
-
$this->pluginFile = (isset($params["plugin_file"])) ? $params["plugin_file"] : null;
|
21 |
-
$this->preventUser = (isset($params["prevent_user"])) ? $params["prevent_user"] : null;
|
22 |
-
$this->typeDevelopment = (isset($params["type_development"])) ? $params["type_development"] : null;
|
23 |
-
$this->token = (isset($params["token"])) ? $params["token"] : null;
|
24 |
-
$this->nameTransient = (isset($params["name_transient"])) ? $params["name_transient"] : "_god_save_errors";
|
25 |
-
$this->environment = (isset($params["environment"])) ? $params["environment"] : null;
|
26 |
-
$this->version = (isset($params["version"])) ? $params["version"] : null;
|
27 |
-
}
|
28 |
-
|
29 |
-
public static function getLastCheckTrackingGeneral(){
|
30 |
-
return get_option(self::$LAST_CHECK_TRACKING_GENERAL);
|
31 |
-
}
|
32 |
-
|
33 |
-
public static function initLastCheckTrackingGeneral(){
|
34 |
-
update_option(self::$LAST_CHECK_TRACKING_GENERAL, time());
|
35 |
-
}
|
36 |
-
|
37 |
-
public static function getNameTransientOtherStatic(){
|
38 |
-
return self::$NAME_TRANSIENT_OTHER;
|
39 |
-
}
|
40 |
-
|
41 |
-
public static function getNameTransientAlreadyCheck(){
|
42 |
-
return self::$NAME_TRANSIENT_ALREADY_CHECK;
|
43 |
-
}
|
44 |
-
|
45 |
-
public function getPreventUser(){
|
46 |
-
return $this->preventUser;
|
47 |
-
}
|
48 |
-
|
49 |
-
public function getPluginFile(){
|
50 |
-
return $this->pluginFile;
|
51 |
-
}
|
52 |
-
|
53 |
-
public function getVersion(){
|
54 |
-
return $this->version;
|
55 |
-
}
|
56 |
-
|
57 |
-
public function getEnvironment(){
|
58 |
-
return $this->environment;
|
59 |
-
}
|
60 |
-
|
61 |
-
public function getBasename(){
|
62 |
-
return $this->basename;
|
63 |
-
}
|
64 |
-
|
65 |
-
|
66 |
-
public function getClientSecret(){
|
67 |
-
return $this->clientSecret;
|
68 |
-
}
|
69 |
-
|
70 |
-
public function getTypeDevelopment(){
|
71 |
-
return $this->typeDevelopment;
|
72 |
-
}
|
73 |
-
|
74 |
-
public function getNameTransient(){
|
75 |
-
return $this->nameTransient;
|
76 |
-
}
|
77 |
-
|
78 |
-
public function serializeError($params){
|
79 |
-
return md5(vsprintf("%s-%s-%s-%s", array($params["file"], $params["line"], $params["code"], $params["message"])));
|
80 |
-
}
|
81 |
-
|
82 |
-
public function saveError($params, $nameTransient = null){
|
83 |
-
|
84 |
-
$nameTransient = ($nameTransient == null) ? $this->getNameTransient() : $nameTransient;
|
85 |
-
|
86 |
-
$serialize = $this->serializeError($params);
|
87 |
-
|
88 |
-
if ( false === ( $transientError = get_transient( $nameTransient ) ) ) {
|
89 |
-
$transientError = array();
|
90 |
-
$transientError[$serialize] = $params;
|
91 |
-
set_transient($nameTransient, $transientError);
|
92 |
-
}
|
93 |
-
else{
|
94 |
-
|
95 |
-
if(!array_key_exists($serialize, $transientError)){
|
96 |
-
$transientError[$serialize] = $params;
|
97 |
-
set_transient($nameTransient, $transientError);
|
98 |
-
}
|
99 |
-
}
|
100 |
-
|
101 |
-
}
|
102 |
-
|
103 |
-
public function sendTrackingGeneral($params){
|
104 |
-
$url = sprintf("%s/trackings.json", WPGod::GOD_URL_API);
|
105 |
-
$data = json_encode($params, true);
|
106 |
-
|
107 |
-
$this->callApi($url, $data);
|
108 |
-
|
109 |
-
}
|
110 |
-
|
111 |
-
public function sendError($params){
|
112 |
-
$url = sprintf("%s/errors.json", WPGod::GOD_URL_API);
|
113 |
-
$data = json_encode($params, true);
|
114 |
-
|
115 |
-
$this->callApi($url, $data);
|
116 |
-
|
117 |
-
}
|
118 |
-
|
119 |
-
public function callApi($url, $data){
|
120 |
-
|
121 |
-
$bearer = sprintf("Authorization: Bearer %s", $this->token);
|
122 |
-
$environment = sprintf("Environment: %s", $this->getEnvironment());
|
123 |
-
|
124 |
-
try {
|
125 |
-
|
126 |
-
$ch = curl_init($url);
|
127 |
-
curl_setopt($ch, CURLOPT_POST, 1);
|
128 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
129 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
130 |
-
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
|
131 |
-
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
|
132 |
-
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
133 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
134 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
135 |
-
curl_setopt($ch, CURLOPT_HTTPHEADER,
|
136 |
-
array(
|
137 |
-
"Content-Type: application/json",
|
138 |
-
"Accept: application/json",
|
139 |
-
$bearer,
|
140 |
-
$environment
|
141 |
-
)
|
142 |
-
);
|
143 |
-
$result = curl_exec($ch);
|
144 |
-
} catch (Exception $e) {}
|
145 |
-
}
|
146 |
-
|
147 |
-
|
148 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Services/GodAuthorizeError.php
DELETED
@@ -1,69 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Services;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\GodHandlerInterface;
|
6 |
-
use WPGodWpseopress\Services\GodAbstractService;
|
7 |
-
use WPGodWpseopress\Helpers\GodTypeDevelopment;
|
8 |
-
use WPGodWpseopress\Models\ServiceInterface;
|
9 |
-
|
10 |
-
|
11 |
-
class GodAuthorizeError extends GodAbstractService implements ServiceInterface
|
12 |
-
{
|
13 |
-
|
14 |
-
public function authorizeHandler($file, $code){
|
15 |
-
$basename = $this->getService("GodApi")->getBasename();
|
16 |
-
$typeDevelopment = $this->getService("GodApi")->getTypeDevelopment();
|
17 |
-
|
18 |
-
if (in_array($typeDevelopment, array(GodTypeDevelopment::PLUGIN, GodTypeDevelopment::MU_PLUGIN, GodTypeDevelopment::THEME))) {
|
19 |
-
switch ($typeDevelopment) {
|
20 |
-
case 'plugin':
|
21 |
-
$verify = sprintf("%s/%s", PLUGINDIR, $basename);
|
22 |
-
break;
|
23 |
-
case 'mu-plugin':
|
24 |
-
$verify = sprintf("%s/%s", WPMU_PLUGIN_DIR, $basename);
|
25 |
-
break;
|
26 |
-
case 'theme':
|
27 |
-
$verify = sprintf("themes/%s", $basename);
|
28 |
-
break;
|
29 |
-
}
|
30 |
-
|
31 |
-
if(strpos(str_replace("\\", "/", $file), $verify) === false){
|
32 |
-
return false;
|
33 |
-
}
|
34 |
-
|
35 |
-
}
|
36 |
-
|
37 |
-
if($this->getService("GodFilesRules")->isInformationIgnore("file_dir", $file) ||
|
38 |
-
$this->getService("GodFilesRules")->isInformationIgnore("code_error", $code)){
|
39 |
-
return false;
|
40 |
-
}
|
41 |
-
|
42 |
-
return true;
|
43 |
-
|
44 |
-
}
|
45 |
-
|
46 |
-
public function checkAlreadyTrack($params, $nameTransient = null){
|
47 |
-
$apiServices = $this->getService("GodApi");
|
48 |
-
$nameTransient = ($nameTransient == null) ? $apiServices::getNameTransientAlreadyCheck() : $nameTransient;
|
49 |
-
|
50 |
-
$serialize = $apiServices->serializeError($params);
|
51 |
-
if ( false === ( $transientAlreadyCheckError = get_transient( $nameTransient ) ) ) {
|
52 |
-
$transientAlreadyCheckError = array();
|
53 |
-
$transientAlreadyCheckError[$serialize] = 1;
|
54 |
-
set_transient($nameTransient, $transientAlreadyCheckError);
|
55 |
-
return false;
|
56 |
-
}
|
57 |
-
else{
|
58 |
-
|
59 |
-
if(!array_key_exists($serialize, $transientAlreadyCheckError)){
|
60 |
-
$transientAlreadyCheckError[$serialize] = 1;
|
61 |
-
set_transient($nameTransient, $transientAlreadyCheckError);
|
62 |
-
return false;
|
63 |
-
}
|
64 |
-
|
65 |
-
return true;
|
66 |
-
}
|
67 |
-
}
|
68 |
-
|
69 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Services/GodCheckErrors.php
DELETED
@@ -1,86 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Services;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\ServiceInterface;
|
6 |
-
use WPGodWpseopress\Models\HooksInterface;
|
7 |
-
use WPGodWpseopress\WPGod;
|
8 |
-
|
9 |
-
class GodCheckErrors extends GodAbstractService implements HooksInterface{
|
10 |
-
|
11 |
-
|
12 |
-
public function hooks(){
|
13 |
-
add_action('init', array($this, 'checkOtherTransient'), 0);
|
14 |
-
add_action('init', array($this, 'searchErrors'), 1);
|
15 |
-
add_action( 'wp_ajax_send_error', array($this, 'prefix_ajax_send_error') );
|
16 |
-
add_action( 'wp_ajax_nopriv_send_error', array($this, 'prefix_ajax_send_error') );
|
17 |
-
}
|
18 |
-
|
19 |
-
public function prefix_ajax_send_error(){
|
20 |
-
$this->sendErrors();
|
21 |
-
}
|
22 |
-
|
23 |
-
public function searchErrors(){
|
24 |
-
$transient = get_transient( $this->getService('GodApi')->getNameTransient());
|
25 |
-
|
26 |
-
if(!$transient || empty($transient)){
|
27 |
-
return;
|
28 |
-
}
|
29 |
-
|
30 |
-
if(is_admin()){
|
31 |
-
add_action("admin_enqueue_scripts", array($this, "enqueue_script_god"));
|
32 |
-
}
|
33 |
-
else{
|
34 |
-
add_action("wp_enqueue_scripts", array($this, "enqueue_script_god"));
|
35 |
-
}
|
36 |
-
}
|
37 |
-
|
38 |
-
public function enqueue_script_god(){
|
39 |
-
$url = admin_url("admin-ajax.php");
|
40 |
-
$urlRegisterScript = sprintf("%s/%s.js", WPGod::$GOD_PATH_PUBLIC_JS, "send-error");
|
41 |
-
$uniqId = uniqid();
|
42 |
-
wp_register_script( $uniqId . '-god-js', $urlRegisterScript, array( 'jquery' ) );
|
43 |
-
|
44 |
-
$arr = array(
|
45 |
-
"url" => $url,
|
46 |
-
"action" => "send_error"
|
47 |
-
);
|
48 |
-
wp_localize_script( $uniqId . '-god-js', 'configGodError', $arr );
|
49 |
-
|
50 |
-
wp_enqueue_script( $uniqId . '-god-js' );
|
51 |
-
}
|
52 |
-
|
53 |
-
public function checkOtherTransient(){
|
54 |
-
$godApi = $this->getService('GodApi');
|
55 |
-
$name = $godApi::getNameTransientOtherStatic();
|
56 |
-
$transient = get_transient($name);
|
57 |
-
|
58 |
-
if(!$transient || empty($transient)){
|
59 |
-
return;
|
60 |
-
}
|
61 |
-
|
62 |
-
foreach ($transient as $key => $value) {
|
63 |
-
if($this->getService('GodAuthorizeError')->authorizeHandler($value["file"], $value["code"])){
|
64 |
-
$this->getService("GodApi")->sendError($value);
|
65 |
-
}
|
66 |
-
}
|
67 |
-
|
68 |
-
delete_transient($name);
|
69 |
-
|
70 |
-
}
|
71 |
-
|
72 |
-
public function sendErrors(){
|
73 |
-
$name = $this->getService("GodApi")->getNameTransient();
|
74 |
-
$transient = get_transient($name);
|
75 |
-
|
76 |
-
if(!$transient || empty($transient)){
|
77 |
-
return;
|
78 |
-
}
|
79 |
-
|
80 |
-
foreach ($transient as $key => $value) {
|
81 |
-
$this->getService("GodApi")->sendError($value);
|
82 |
-
}
|
83 |
-
|
84 |
-
delete_transient($name);
|
85 |
-
}
|
86 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/Services/GodFilesRules.php
DELETED
@@ -1,154 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress\Services;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Models\ServiceInterface;
|
6 |
-
use WPGodWpseopress\Models\Specification\OrX;
|
7 |
-
use WPGodWpseopress\Models\Specification\AndX;
|
8 |
-
use WPGodWpseopress\Models\Specification\NotX;
|
9 |
-
use WPGodWpseopress\Models\Specification\ContainsSpecification;
|
10 |
-
use WPGodWpseopress\Models\Specification\EqualsSpecification;
|
11 |
-
|
12 |
-
|
13 |
-
/**
|
14 |
-
* GodFilesRules
|
15 |
-
*
|
16 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
17 |
-
* @version 1.0.0
|
18 |
-
* @since 1.0.0
|
19 |
-
*/
|
20 |
-
class GodFilesRules implements ServiceInterface {
|
21 |
-
public function __construct($params = array()){
|
22 |
-
$this->rulesIgnore = (isset($params["rules_ignore"])) ? $params["rules_ignore"] : array();
|
23 |
-
|
24 |
-
$this->typeErrorRules = array(
|
25 |
-
"code_error",
|
26 |
-
"file_dir"
|
27 |
-
);
|
28 |
-
|
29 |
-
$this->conditionTest = array(
|
30 |
-
"equals",
|
31 |
-
"contains",
|
32 |
-
"not-equals",
|
33 |
-
"not-contains"
|
34 |
-
);
|
35 |
-
}
|
36 |
-
|
37 |
-
public function getTypeErrorRules(){
|
38 |
-
return $this->typeErrorRules;
|
39 |
-
}
|
40 |
-
|
41 |
-
public function getConditionTest(){
|
42 |
-
return $this->conditionTest;
|
43 |
-
}
|
44 |
-
|
45 |
-
public function isInformationIgnore($type, $valueIgnore){
|
46 |
-
$arraySpec = array();
|
47 |
-
$result = false;
|
48 |
-
|
49 |
-
if (!in_array($type, $this->typeErrorRules)) {
|
50 |
-
return false;
|
51 |
-
}
|
52 |
-
|
53 |
-
if(!empty($this->rulesIgnore)){
|
54 |
-
foreach ($this->rulesIgnore as $keyOr => $valueOr) {
|
55 |
-
foreach ($valueOr as $keyAnd => $valueAnd) {
|
56 |
-
if($valueAnd['type_error'] == $type){
|
57 |
-
$conditionTest = "";
|
58 |
-
$value = "";
|
59 |
-
|
60 |
-
switch ($type) {
|
61 |
-
case 'file_dir':
|
62 |
-
$conditionTest = "contains";
|
63 |
-
$value = $valueAnd["file"];
|
64 |
-
break;
|
65 |
-
case 'code_error':
|
66 |
-
$conditionTest = "equals";
|
67 |
-
$value = $valueAnd["code_error"];
|
68 |
-
break;
|
69 |
-
}
|
70 |
-
|
71 |
-
$arraySpec[$keyOr][] = $this->getSpecificationFromConditionTest($conditionTest, $value);
|
72 |
-
}
|
73 |
-
}
|
74 |
-
}
|
75 |
-
}
|
76 |
-
|
77 |
-
|
78 |
-
if(!empty($arraySpec)){
|
79 |
-
$allSpecs = null;
|
80 |
-
if(count($arraySpec) > 1){
|
81 |
-
foreach ($arraySpec as $key => $value) {
|
82 |
-
if (array_key_exists($key+1, $arraySpec)) {
|
83 |
-
$allSpecs = ($allSpecs === null) ? new OrX($this->constructAndSpecification($value), $this->constructAndSpecification($arraySpec[$key+1])) : new OrX($allSpecs, $this->constructAndSpecification($arraySpec[$key+1]));
|
84 |
-
}
|
85 |
-
}
|
86 |
-
}
|
87 |
-
else{
|
88 |
-
$arraySpec = array_values($arraySpec);
|
89 |
-
$allSpecs = $this->constructAndSpecification($arraySpec[0]);
|
90 |
-
}
|
91 |
-
|
92 |
-
if ($allSpecs !== null) {
|
93 |
-
$result = $allSpecs->isSatisfiedBy($valueIgnore);
|
94 |
-
}
|
95 |
-
}
|
96 |
-
|
97 |
-
return $result;
|
98 |
-
|
99 |
-
|
100 |
-
}
|
101 |
-
|
102 |
-
private function constructAndSpecification($andSpecs){
|
103 |
-
$andSpecification = null;
|
104 |
-
if(!empty($andSpecs) && count($andSpecs) === 1){
|
105 |
-
return $andSpecs[0];
|
106 |
-
}
|
107 |
-
else{
|
108 |
-
foreach ($andSpecs as $key => $value) {
|
109 |
-
if (array_key_exists($key+1, $andSpecs)) {
|
110 |
-
$andSpecification = ($andSpecification === null) ? new AndX($value, $andSpecs[$key+1]) : new AndX($andSpecification, $andSpecs[$key+1]);
|
111 |
-
}
|
112 |
-
}
|
113 |
-
}
|
114 |
-
|
115 |
-
return $andSpecification;
|
116 |
-
}
|
117 |
-
|
118 |
-
|
119 |
-
public function getSpecificationFromConditionTest($conditionTest, $value){
|
120 |
-
$stringChoice = new ContainsSpecification($conditionTest);
|
121 |
-
$spec = "";
|
122 |
-
|
123 |
-
if($stringChoice->isSatisfiedBy("not")){
|
124 |
-
if($stringChoice->isSatisfiedBy("equals")){
|
125 |
-
$spec = new NotX(new EqualsSpecification($value));
|
126 |
-
}
|
127 |
-
else{
|
128 |
-
$spec = new NotX(new ContainsSpecification($value));
|
129 |
-
}
|
130 |
-
}
|
131 |
-
else{
|
132 |
-
if($stringChoice->isSatisfiedBy("equals")){
|
133 |
-
$spec = new EqualsSpecification($value);
|
134 |
-
}
|
135 |
-
else{
|
136 |
-
$spec = new ContainsSpecification($value);
|
137 |
-
}
|
138 |
-
}
|
139 |
-
|
140 |
-
return $spec;
|
141 |
-
}
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
}
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/src/WPGod/WPGod.php
DELETED
@@ -1,164 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
namespace WPGodWpseopress;
|
4 |
-
|
5 |
-
use WPGodWpseopress\Handler\GodErrorHandler;
|
6 |
-
use WPGodWpseopress\Handler\GodTrackingHandler;
|
7 |
-
use WPGodWpseopress\Handler\GodAdminNoticeHandler;
|
8 |
-
use WPGodWpseopress\Helpers\GodError;
|
9 |
-
use WPGodWpseopress\Helpers\GodServerInfo;
|
10 |
-
use WPGodWpseopress\Helpers\GodEnvironmentInfo;
|
11 |
-
use WPGodWpseopress\Helpers\GodTypeDevelopment;
|
12 |
-
use WPGodWpseopress\Services\GodApi;
|
13 |
-
use WPGodWpseopress\Services\GodFilesRules;
|
14 |
-
use WPGodWpseopress\Services\GodCheckErrors;
|
15 |
-
use WPGodWpseopress\Services\GodAuthorizeError;
|
16 |
-
|
17 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
18 |
-
|
19 |
-
|
20 |
-
/**
|
21 |
-
* WPGod
|
22 |
-
*
|
23 |
-
* @author Thomas DENEULIN <contact@wp-god.com>
|
24 |
-
* @version 1.0.0
|
25 |
-
* @since 1.0.0
|
26 |
-
*/
|
27 |
-
class WPGod{
|
28 |
-
|
29 |
-
public static $GOD_PATH_PUBLIC_JS;
|
30 |
-
|
31 |
-
const PHP_VERSION_MINI = "5.4";
|
32 |
-
const GOD_VERSION = "2.2";
|
33 |
-
const GOD_URL_API = "https://api.wp-god.com/api/v1";
|
34 |
-
|
35 |
-
protected $paramsObligatory = array(
|
36 |
-
"basename",
|
37 |
-
"type_development",
|
38 |
-
"name_transient",
|
39 |
-
"token",
|
40 |
-
"environment"
|
41 |
-
);
|
42 |
-
|
43 |
-
protected $hooksServices = array();
|
44 |
-
|
45 |
-
public function __construct($params){
|
46 |
-
self::$GOD_PATH_PUBLIC_JS = plugin_dir_url(__FILE__) . "../../public/js";
|
47 |
-
|
48 |
-
$missingParameters = 0;
|
49 |
-
|
50 |
-
foreach ($this->paramsObligatory as $key => $value) {
|
51 |
-
if(!array_key_exists($value, $params)){
|
52 |
-
$missingParameters++;
|
53 |
-
}
|
54 |
-
}
|
55 |
-
|
56 |
-
if($missingParameters === 0){
|
57 |
-
|
58 |
-
$godApi = new GodApi($params);
|
59 |
-
$godFilesRules = new GodFilesRules($params);
|
60 |
-
$godAuthorizeError = new GodAuthorizeError(array(
|
61 |
-
$godApi,
|
62 |
-
$godFilesRules
|
63 |
-
)
|
64 |
-
);
|
65 |
-
|
66 |
-
$pause = ($this->canBeTrigger()) ? false : true;
|
67 |
-
$authorizeTracking = get_option("wpgod_seopress_allow_tracking");
|
68 |
-
$pauseTrackingEnvironment = (!($params["type_development"] == GodTypeDevelopment::PLUGIN) || !$authorizeTracking);
|
69 |
-
|
70 |
-
$this->hooksServices = array(
|
71 |
-
"god_handler" => new GodErrorHandler(
|
72 |
-
array(
|
73 |
-
$godApi,
|
74 |
-
$godFilesRules,
|
75 |
-
$godAuthorizeError
|
76 |
-
),
|
77 |
-
array(
|
78 |
-
new GodError(),
|
79 |
-
new GodServerInfo(),
|
80 |
-
new GodEnvironmentInfo()
|
81 |
-
),
|
82 |
-
$pause
|
83 |
-
),
|
84 |
-
"god_tracking_handler" => new GodTrackingHandler(
|
85 |
-
array(
|
86 |
-
$godApi
|
87 |
-
),
|
88 |
-
array(
|
89 |
-
new GodEnvironmentInfo(),
|
90 |
-
new GodServerInfo()
|
91 |
-
),
|
92 |
-
$pauseTrackingEnvironment
|
93 |
-
),
|
94 |
-
"god_check_errors" => new GodCheckErrors(
|
95 |
-
array(
|
96 |
-
$godApi,
|
97 |
-
$godAuthorizeError
|
98 |
-
)
|
99 |
-
)
|
100 |
-
);
|
101 |
-
|
102 |
-
if($params["type_development"] == GodTypeDevelopment::PLUGIN){
|
103 |
-
$this->hooksServices["god_admin_notice_handler"] = new GodAdminNoticeHandler(
|
104 |
-
array(
|
105 |
-
$godApi
|
106 |
-
),
|
107 |
-
array(),
|
108 |
-
(isset($params["prevent_user"])) ? $params["prevent_user"] : false
|
109 |
-
);
|
110 |
-
}
|
111 |
-
}
|
112 |
-
}
|
113 |
-
|
114 |
-
|
115 |
-
protected function canBeTrigger(){
|
116 |
-
if(strpos(__DIR__, "_wpgod") !== false){
|
117 |
-
return true;
|
118 |
-
}
|
119 |
-
|
120 |
-
if(file_exists(WPMU_PLUGIN_DIR . '/_wpgod')){
|
121 |
-
return false;
|
122 |
-
}
|
123 |
-
|
124 |
-
return true;
|
125 |
-
}
|
126 |
-
|
127 |
-
|
128 |
-
protected function canLoadedWPGod(){
|
129 |
-
|
130 |
-
if ( version_compare( PHP_VERSION, self::PHP_VERSION_MINI, '<' ) ) {
|
131 |
-
return false;
|
132 |
-
}
|
133 |
-
|
134 |
-
if(!function_exists('curl_version')){
|
135 |
-
return false;
|
136 |
-
}
|
137 |
-
|
138 |
-
return true;
|
139 |
-
}
|
140 |
-
|
141 |
-
public function execute(){
|
142 |
-
|
143 |
-
if ($this->canLoadedWPGod()){
|
144 |
-
add_action( 'plugins_loaded' , array($this,'hooks'), 0);
|
145 |
-
}
|
146 |
-
}
|
147 |
-
|
148 |
-
public function hooks(){
|
149 |
-
|
150 |
-
foreach ($this->hooksServices as $key => $hook) {
|
151 |
-
if($hook instanceOf HooksInterface){
|
152 |
-
$hook->hooks();
|
153 |
-
}
|
154 |
-
|
155 |
-
$interfaces = class_implements($hook);
|
156 |
-
foreach ($interfaces as $key => $value) {
|
157 |
-
$pos = strpos($key, "HooksInterface");
|
158 |
-
if($pos !== false){
|
159 |
-
$hook->hooks();
|
160 |
-
}
|
161 |
-
}
|
162 |
-
}
|
163 |
-
}
|
164 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/vendor/autoload.php
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload.php @generated by Composer
|
4 |
-
|
5 |
-
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
-
|
7 |
-
return ComposerAutoloaderInit6ea64e24194a64d6eef9458bf8eb5c18::getLoader();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/vendor/composer/ClassLoader.php
DELETED
@@ -1,413 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of Composer.
|
5 |
-
*
|
6 |
-
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
-
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
-
*
|
9 |
-
* For the full copyright and license information, please view the LICENSE
|
10 |
-
* file that was distributed with this source code.
|
11 |
-
*/
|
12 |
-
|
13 |
-
namespace Composer\Autoload;
|
14 |
-
|
15 |
-
/**
|
16 |
-
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
17 |
-
*
|
18 |
-
* $loader = new \Composer\Autoload\ClassLoader();
|
19 |
-
*
|
20 |
-
* // register classes with namespaces
|
21 |
-
* $loader->add('Symfony\Component', __DIR__.'/component');
|
22 |
-
* $loader->add('Symfony', __DIR__.'/framework');
|
23 |
-
*
|
24 |
-
* // activate the autoloader
|
25 |
-
* $loader->register();
|
26 |
-
*
|
27 |
-
* // to enable searching the include path (eg. for PEAR packages)
|
28 |
-
* $loader->setUseIncludePath(true);
|
29 |
-
*
|
30 |
-
* In this example, if you try to use a class in the Symfony\Component
|
31 |
-
* namespace or one of its children (Symfony\Component\Console for instance),
|
32 |
-
* the autoloader will first look for the class under the component/
|
33 |
-
* directory, and it will then fallback to the framework/ directory if not
|
34 |
-
* found before giving up.
|
35 |
-
*
|
36 |
-
* This class is loosely based on the Symfony UniversalClassLoader.
|
37 |
-
*
|
38 |
-
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
-
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
-
* @see http://www.php-fig.org/psr/psr-0/
|
41 |
-
* @see http://www.php-fig.org/psr/psr-4/
|
42 |
-
*/
|
43 |
-
class ClassLoader
|
44 |
-
{
|
45 |
-
// PSR-4
|
46 |
-
private $prefixLengthsPsr4 = array();
|
47 |
-
private $prefixDirsPsr4 = array();
|
48 |
-
private $fallbackDirsPsr4 = array();
|
49 |
-
|
50 |
-
// PSR-0
|
51 |
-
private $prefixesPsr0 = array();
|
52 |
-
private $fallbackDirsPsr0 = array();
|
53 |
-
|
54 |
-
private $useIncludePath = false;
|
55 |
-
private $classMap = array();
|
56 |
-
|
57 |
-
private $classMapAuthoritative = false;
|
58 |
-
|
59 |
-
public function getPrefixes()
|
60 |
-
{
|
61 |
-
if (!empty($this->prefixesPsr0)) {
|
62 |
-
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
63 |
-
}
|
64 |
-
|
65 |
-
return array();
|
66 |
-
}
|
67 |
-
|
68 |
-
public function getPrefixesPsr4()
|
69 |
-
{
|
70 |
-
return $this->prefixDirsPsr4;
|
71 |
-
}
|
72 |
-
|
73 |
-
public function getFallbackDirs()
|
74 |
-
{
|
75 |
-
return $this->fallbackDirsPsr0;
|
76 |
-
}
|
77 |
-
|
78 |
-
public function getFallbackDirsPsr4()
|
79 |
-
{
|
80 |
-
return $this->fallbackDirsPsr4;
|
81 |
-
}
|
82 |
-
|
83 |
-
public function getClassMap()
|
84 |
-
{
|
85 |
-
return $this->classMap;
|
86 |
-
}
|
87 |
-
|
88 |
-
/**
|
89 |
-
* @param array $classMap Class to filename map
|
90 |
-
*/
|
91 |
-
public function addClassMap(array $classMap)
|
92 |
-
{
|
93 |
-
if ($this->classMap) {
|
94 |
-
$this->classMap = array_merge($this->classMap, $classMap);
|
95 |
-
} else {
|
96 |
-
$this->classMap = $classMap;
|
97 |
-
}
|
98 |
-
}
|
99 |
-
|
100 |
-
/**
|
101 |
-
* Registers a set of PSR-0 directories for a given prefix, either
|
102 |
-
* appending or prepending to the ones previously set for this prefix.
|
103 |
-
*
|
104 |
-
* @param string $prefix The prefix
|
105 |
-
* @param array|string $paths The PSR-0 root directories
|
106 |
-
* @param bool $prepend Whether to prepend the directories
|
107 |
-
*/
|
108 |
-
public function add($prefix, $paths, $prepend = false)
|
109 |
-
{
|
110 |
-
if (!$prefix) {
|
111 |
-
if ($prepend) {
|
112 |
-
$this->fallbackDirsPsr0 = array_merge(
|
113 |
-
(array) $paths,
|
114 |
-
$this->fallbackDirsPsr0
|
115 |
-
);
|
116 |
-
} else {
|
117 |
-
$this->fallbackDirsPsr0 = array_merge(
|
118 |
-
$this->fallbackDirsPsr0,
|
119 |
-
(array) $paths
|
120 |
-
);
|
121 |
-
}
|
122 |
-
|
123 |
-
return;
|
124 |
-
}
|
125 |
-
|
126 |
-
$first = $prefix[0];
|
127 |
-
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
128 |
-
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
129 |
-
|
130 |
-
return;
|
131 |
-
}
|
132 |
-
if ($prepend) {
|
133 |
-
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
134 |
-
(array) $paths,
|
135 |
-
$this->prefixesPsr0[$first][$prefix]
|
136 |
-
);
|
137 |
-
} else {
|
138 |
-
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
139 |
-
$this->prefixesPsr0[$first][$prefix],
|
140 |
-
(array) $paths
|
141 |
-
);
|
142 |
-
}
|
143 |
-
}
|
144 |
-
|
145 |
-
/**
|
146 |
-
* Registers a set of PSR-4 directories for a given namespace, either
|
147 |
-
* appending or prepending to the ones previously set for this namespace.
|
148 |
-
*
|
149 |
-
* @param string $prefix The prefix/namespace, with trailing '\\'
|
150 |
-
* @param array|string $paths The PSR-4 base directories
|
151 |
-
* @param bool $prepend Whether to prepend the directories
|
152 |
-
*
|
153 |
-
* @throws \InvalidArgumentException
|
154 |
-
*/
|
155 |
-
public function addPsr4($prefix, $paths, $prepend = false)
|
156 |
-
{
|
157 |
-
if (!$prefix) {
|
158 |
-
// Register directories for the root namespace.
|
159 |
-
if ($prepend) {
|
160 |
-
$this->fallbackDirsPsr4 = array_merge(
|
161 |
-
(array) $paths,
|
162 |
-
$this->fallbackDirsPsr4
|
163 |
-
);
|
164 |
-
} else {
|
165 |
-
$this->fallbackDirsPsr4 = array_merge(
|
166 |
-
$this->fallbackDirsPsr4,
|
167 |
-
(array) $paths
|
168 |
-
);
|
169 |
-
}
|
170 |
-
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
171 |
-
// Register directories for a new namespace.
|
172 |
-
$length = strlen($prefix);
|
173 |
-
if ('\\' !== $prefix[$length - 1]) {
|
174 |
-
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
175 |
-
}
|
176 |
-
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
177 |
-
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
178 |
-
} elseif ($prepend) {
|
179 |
-
// Prepend directories for an already registered namespace.
|
180 |
-
$this->prefixDirsPsr4[$prefix] = array_merge(
|
181 |
-
(array) $paths,
|
182 |
-
$this->prefixDirsPsr4[$prefix]
|
183 |
-
);
|
184 |
-
} else {
|
185 |
-
// Append directories for an already registered namespace.
|
186 |
-
$this->prefixDirsPsr4[$prefix] = array_merge(
|
187 |
-
$this->prefixDirsPsr4[$prefix],
|
188 |
-
(array) $paths
|
189 |
-
);
|
190 |
-
}
|
191 |
-
}
|
192 |
-
|
193 |
-
/**
|
194 |
-
* Registers a set of PSR-0 directories for a given prefix,
|
195 |
-
* replacing any others previously set for this prefix.
|
196 |
-
*
|
197 |
-
* @param string $prefix The prefix
|
198 |
-
* @param array|string $paths The PSR-0 base directories
|
199 |
-
*/
|
200 |
-
public function set($prefix, $paths)
|
201 |
-
{
|
202 |
-
if (!$prefix) {
|
203 |
-
$this->fallbackDirsPsr0 = (array) $paths;
|
204 |
-
} else {
|
205 |
-
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
206 |
-
}
|
207 |
-
}
|
208 |
-
|
209 |
-
/**
|
210 |
-
* Registers a set of PSR-4 directories for a given namespace,
|
211 |
-
* replacing any others previously set for this namespace.
|
212 |
-
*
|
213 |
-
* @param string $prefix The prefix/namespace, with trailing '\\'
|
214 |
-
* @param array|string $paths The PSR-4 base directories
|
215 |
-
*
|
216 |
-
* @throws \InvalidArgumentException
|
217 |
-
*/
|
218 |
-
public function setPsr4($prefix, $paths)
|
219 |
-
{
|
220 |
-
if (!$prefix) {
|
221 |
-
$this->fallbackDirsPsr4 = (array) $paths;
|
222 |
-
} else {
|
223 |
-
$length = strlen($prefix);
|
224 |
-
if ('\\' !== $prefix[$length - 1]) {
|
225 |
-
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
226 |
-
}
|
227 |
-
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
228 |
-
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
229 |
-
}
|
230 |
-
}
|
231 |
-
|
232 |
-
/**
|
233 |
-
* Turns on searching the include path for class files.
|
234 |
-
*
|
235 |
-
* @param bool $useIncludePath
|
236 |
-
*/
|
237 |
-
public function setUseIncludePath($useIncludePath)
|
238 |
-
{
|
239 |
-
$this->useIncludePath = $useIncludePath;
|
240 |
-
}
|
241 |
-
|
242 |
-
/**
|
243 |
-
* Can be used to check if the autoloader uses the include path to check
|
244 |
-
* for classes.
|
245 |
-
*
|
246 |
-
* @return bool
|
247 |
-
*/
|
248 |
-
public function getUseIncludePath()
|
249 |
-
{
|
250 |
-
return $this->useIncludePath;
|
251 |
-
}
|
252 |
-
|
253 |
-
/**
|
254 |
-
* Turns off searching the prefix and fallback directories for classes
|
255 |
-
* that have not been registered with the class map.
|
256 |
-
*
|
257 |
-
* @param bool $classMapAuthoritative
|
258 |
-
*/
|
259 |
-
public function setClassMapAuthoritative($classMapAuthoritative)
|
260 |
-
{
|
261 |
-
$this->classMapAuthoritative = $classMapAuthoritative;
|
262 |
-
}
|
263 |
-
|
264 |
-
/**
|
265 |
-
* Should class lookup fail if not found in the current class map?
|
266 |
-
*
|
267 |
-
* @return bool
|
268 |
-
*/
|
269 |
-
public function isClassMapAuthoritative()
|
270 |
-
{
|
271 |
-
return $this->classMapAuthoritative;
|
272 |
-
}
|
273 |
-
|
274 |
-
/**
|
275 |
-
* Registers this instance as an autoloader.
|
276 |
-
*
|
277 |
-
* @param bool $prepend Whether to prepend the autoloader or not
|
278 |
-
*/
|
279 |
-
public function register($prepend = false)
|
280 |
-
{
|
281 |
-
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
282 |
-
}
|
283 |
-
|
284 |
-
/**
|
285 |
-
* Unregisters this instance as an autoloader.
|
286 |
-
*/
|
287 |
-
public function unregister()
|
288 |
-
{
|
289 |
-
spl_autoload_unregister(array($this, 'loadClass'));
|
290 |
-
}
|
291 |
-
|
292 |
-
/**
|
293 |
-
* Loads the given class or interface.
|
294 |
-
*
|
295 |
-
* @param string $class The name of the class
|
296 |
-
* @return bool|null True if loaded, null otherwise
|
297 |
-
*/
|
298 |
-
public function loadClass($class)
|
299 |
-
{
|
300 |
-
if ($file = $this->findFile($class)) {
|
301 |
-
includeFile($file);
|
302 |
-
|
303 |
-
return true;
|
304 |
-
}
|
305 |
-
}
|
306 |
-
|
307 |
-
/**
|
308 |
-
* Finds the path to the file where the class is defined.
|
309 |
-
*
|
310 |
-
* @param string $class The name of the class
|
311 |
-
*
|
312 |
-
* @return string|false The path if found, false otherwise
|
313 |
-
*/
|
314 |
-
public function findFile($class)
|
315 |
-
{
|
316 |
-
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
|
317 |
-
if ('\\' == $class[0]) {
|
318 |
-
$class = substr($class, 1);
|
319 |
-
}
|
320 |
-
|
321 |
-
// class map lookup
|
322 |
-
if (isset($this->classMap[$class])) {
|
323 |
-
return $this->classMap[$class];
|
324 |
-
}
|
325 |
-
if ($this->classMapAuthoritative) {
|
326 |
-
return false;
|
327 |
-
}
|
328 |
-
|
329 |
-
$file = $this->findFileWithExtension($class, '.php');
|
330 |
-
|
331 |
-
// Search for Hack files if we are running on HHVM
|
332 |
-
if ($file === null && defined('HHVM_VERSION')) {
|
333 |
-
$file = $this->findFileWithExtension($class, '.hh');
|
334 |
-
}
|
335 |
-
|
336 |
-
if ($file === null) {
|
337 |
-
// Remember that this class does not exist.
|
338 |
-
return $this->classMap[$class] = false;
|
339 |
-
}
|
340 |
-
|
341 |
-
return $file;
|
342 |
-
}
|
343 |
-
|
344 |
-
private function findFileWithExtension($class, $ext)
|
345 |
-
{
|
346 |
-
// PSR-4 lookup
|
347 |
-
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
348 |
-
|
349 |
-
$first = $class[0];
|
350 |
-
if (isset($this->prefixLengthsPsr4[$first])) {
|
351 |
-
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
|
352 |
-
if (0 === strpos($class, $prefix)) {
|
353 |
-
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
|
354 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
355 |
-
return $file;
|
356 |
-
}
|
357 |
-
}
|
358 |
-
}
|
359 |
-
}
|
360 |
-
}
|
361 |
-
|
362 |
-
// PSR-4 fallback dirs
|
363 |
-
foreach ($this->fallbackDirsPsr4 as $dir) {
|
364 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
365 |
-
return $file;
|
366 |
-
}
|
367 |
-
}
|
368 |
-
|
369 |
-
// PSR-0 lookup
|
370 |
-
if (false !== $pos = strrpos($class, '\\')) {
|
371 |
-
// namespaced class name
|
372 |
-
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
373 |
-
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
374 |
-
} else {
|
375 |
-
// PEAR-like class name
|
376 |
-
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
377 |
-
}
|
378 |
-
|
379 |
-
if (isset($this->prefixesPsr0[$first])) {
|
380 |
-
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
381 |
-
if (0 === strpos($class, $prefix)) {
|
382 |
-
foreach ($dirs as $dir) {
|
383 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
384 |
-
return $file;
|
385 |
-
}
|
386 |
-
}
|
387 |
-
}
|
388 |
-
}
|
389 |
-
}
|
390 |
-
|
391 |
-
// PSR-0 fallback dirs
|
392 |
-
foreach ($this->fallbackDirsPsr0 as $dir) {
|
393 |
-
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
394 |
-
return $file;
|
395 |
-
}
|
396 |
-
}
|
397 |
-
|
398 |
-
// PSR-0 include paths.
|
399 |
-
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
400 |
-
return $file;
|
401 |
-
}
|
402 |
-
}
|
403 |
-
}
|
404 |
-
|
405 |
-
/**
|
406 |
-
* Scope isolated include.
|
407 |
-
*
|
408 |
-
* Prevents access to $this/self from included files.
|
409 |
-
*/
|
410 |
-
function includeFile($file)
|
411 |
-
{
|
412 |
-
include $file;
|
413 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/vendor/composer/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
|
2 |
-
Copyright (c) 2016 Nils Adermann, Jordi Boggiano
|
3 |
-
|
4 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
-
of this software and associated documentation files (the "Software"), to deal
|
6 |
-
in the Software without restriction, including without limitation the rights
|
7 |
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8 |
-
copies of the Software, and to permit persons to whom the Software is furnished
|
9 |
-
to do so, subject to the following conditions:
|
10 |
-
|
11 |
-
The above copyright notice and this permission notice shall be included in all
|
12 |
-
copies or substantial portions of the Software.
|
13 |
-
|
14 |
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15 |
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17 |
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18 |
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19 |
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20 |
-
THE SOFTWARE.
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/vendor/composer/autoload_classmap.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_classmap.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname($vendorDir);
|
7 |
-
|
8 |
-
return array(
|
9 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/vendor/composer/autoload_namespaces.php
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_namespaces.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname($vendorDir);
|
7 |
-
|
8 |
-
return array(
|
9 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/vendor/composer/autoload_psr4.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_psr4.php @generated by Composer
|
4 |
-
|
5 |
-
$vendorDir = dirname(dirname(__FILE__));
|
6 |
-
$baseDir = dirname($vendorDir);
|
7 |
-
|
8 |
-
return array(
|
9 |
-
'WPGodWpseopress\\' => array($baseDir . '/src/WPGod'),
|
10 |
-
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wpgod/vendor/composer/autoload_real.php
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// autoload_real.php @generated by Composer
|
4 |
-
|
5 |
-
class ComposerAutoloaderInit6ea64e24194a64d6eef9458bf8eb5c18
|
6 |
-
{
|
7 |
-
private static $loader;
|
8 |
-
|
9 |
-
public static function loadClassLoader($class)
|
10 |
-
{
|
11 |
-
if ('Composer\Autoload\ClassLoader' === $class) {
|
12 |
-
require __DIR__ . '/ClassLoader.php';
|
13 |
-
}
|
14 |
-
}
|
15 |
-
|
16 |
-
public static function getLoader()
|
17 |
-
{
|
18 |
-
if (null !== self::$loader) {
|
19 |
-
return self::$loader;
|
20 |
-
}
|
21 |
-
|
22 |
-
spl_autoload_register(array('ComposerAutoloaderInit6ea64e24194a64d6eef9458bf8eb5c18', 'loadClassLoader'), true, true);
|
23 |
-
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('ComposerAutoloaderInit6ea64e24194a64d6eef9458bf8eb5c18', 'loadClassLoader'));
|
25 |
-
|
26 |
-
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
-
foreach ($map as $namespace => $path) {
|
28 |
-
$loader->set($namespace, $path);
|
29 |
-
}
|
30 |
-
|
31 |
-
$map = require __DIR__ . '/autoload_psr4.php';
|
32 |
-
foreach ($map as $namespace => $path) {
|
33 |
-
$loader->setPsr4($namespace, $path);
|
34 |
-
}
|
35 |
-
|
36 |
-
$classMap = require __DIR__ . '/autoload_classmap.php';
|
37 |
-
if ($classMap) {
|
38 |
-
$loader->addClassMap($classMap);
|
39 |
-
}
|
40 |
-
|
41 |
-
$loader->register(true);
|
42 |
-
|
43 |
-
return $loader;
|
44 |
-
}
|
45 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|