Google Apps Login - Version 2.5.2

Version Description

Service Account settings can be uploaded by copy-and-paste of JSON file contents as well as just uploading the file directly.

Download this release

Release Info

Developer danlester
Plugin Icon 128x128 Google Apps Login
Version 2.5.2
Comparing to
See all releases

Code changes from version 2.5 to 2.5.2

core/core_google_apps_login.php CHANGED
@@ -125,6 +125,18 @@ class core_google_apps_login {
125
  margin: 12px 0px;
126
  }
127
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  </style>
129
  <?php }
130
 
@@ -500,7 +512,10 @@ class core_google_apps_login {
500
  }
501
 
502
  public function ga_options_do_page() {
503
-
 
 
 
504
  wp_enqueue_script( 'gal_admin_js', $this->my_plugin_url().'js/gal-admin.js', array('jquery') );
505
  wp_enqueue_style( 'gal_admin_css', $this->my_plugin_url().'css/gal-admin.css' );
506
 
@@ -666,10 +681,15 @@ class core_google_apps_login {
666
  }
667
  }
668
 
669
- echo '<label for="input_ga_keyfile" class="textinput">'.__('Upload Service Account JSON file', 'google-apps-login').'</label>';
 
 
670
  echo "<div class='gal-lowerinput'>";
671
  echo "<input type='hidden' name='MAX_FILE_SIZE' value='10240' />";
672
- echo "<input type='file' name='ga_keyfileupload' id='input_ga_keyfileupload' />";
 
 
 
673
  echo '</div>';
674
  echo '<br class="clear">';
675
 
@@ -829,7 +849,7 @@ class core_google_apps_login {
829
  }
830
 
831
  // Submitting a JSON key for Service Account
832
- if (isset($_FILES['ga_keyfileupload'])) {
833
  if (!class_exists('gal_keyfile_uploader')) {
834
  $this->setIncludePath();
835
  require_once( 'keyfile_uploader.php' );
@@ -837,7 +857,7 @@ class core_google_apps_login {
837
 
838
  $saoptions = $this->get_sa_option();
839
 
840
- $kfu = new gal_keyfile_uploader('ga_keyfileupload');
841
  $newemail = $kfu->getEmail();
842
  $newkey = $kfu->getKey();
843
  $newprint = $kfu->getPrint();
125
  margin: 12px 0px;
126
  }
127
 
128
+ <?php if ($this->should_hidewplogin($options)) { ?>
129
+
130
+ div#login form#loginform p label[for=user_login],
131
+ div#login form#loginform p label[for=user_pass],
132
+ div#login form#loginform p label[for=rememberme],
133
+ div#login form#loginform p.submit,
134
+ div#login p#nav {
135
+ display: none;
136
+ }
137
+
138
+ <?php } ?>
139
+
140
  </style>
141
  <?php }
142
 
512
  }
513
 
514
  public function ga_options_do_page() {
515
+ if (!current_user_can(is_multisite() ? 'manage_network_options' : 'manage_options')) {
516
+ wp_die();
517
+ }
518
+
519
  wp_enqueue_script( 'gal_admin_js', $this->my_plugin_url().'js/gal-admin.js', array('jquery') );
520
  wp_enqueue_style( 'gal_admin_css', $this->my_plugin_url().'css/gal-admin.css' );
521
 
681
  }
682
  }
683
 
684
+ echo '<label for="input_ga_keyfileupload" class="textinput gal_jsonkeyfile">'.__('Upload Service Account JSON file', 'google-apps-login').'</label>';
685
+ echo '<label for="input_ga_keyjson" class="textinput gal_jsonkeytext" style="display: none;">'.__('Paste contents of JSON file', 'google-apps-login').'</label>';
686
+
687
  echo "<div class='gal-lowerinput'>";
688
  echo "<input type='hidden' name='MAX_FILE_SIZE' value='10240' />";
689
+ echo "<input type='file' name='ga_keyfileupload' id='input_ga_keyfileupload' class='gal_jsonkeyfile'/>";
690
+ echo "<a href='#' class='gal_jsonkeyfile'>Problem uploading file?</a>";
691
+ echo "<textarea name='".$this->get_options_name()."[ga_keyjson]' id='input_ga_keyjson' class='gal_jsonkeytext' style='display: none;'></textarea>";
692
+ echo "<a href='#' class='gal_jsonkeytext' style='display: none;'>Prefer the file upload?</a>";
693
  echo '</div>';
694
  echo '<br class="clear">';
695
 
849
  }
850
 
851
  // Submitting a JSON key for Service Account
852
+ if (isset($_FILES['ga_keyfileupload']) || (isset($input['ga_keyjson']) && strlen(trim($input['ga_keyjson'])) > 0)) {
853
  if (!class_exists('gal_keyfile_uploader')) {
854
  $this->setIncludePath();
855
  require_once( 'keyfile_uploader.php' );
857
 
858
  $saoptions = $this->get_sa_option();
859
 
860
+ $kfu = new gal_keyfile_uploader('ga_keyfileupload', isset($input['ga_keyjson']) ? $input['ga_keyjson'] : '');
861
  $newemail = $kfu->getEmail();
862
  $newkey = $kfu->getKey();
863
  $newprint = $kfu->getPrint();
core/keyfile_uploader.php CHANGED
@@ -3,11 +3,15 @@
3
  class gal_keyfile_uploader {
4
 
5
  protected $fileindex = '';
6
- public function __construct($fileindex) {
 
 
7
  $this->fileindex = $fileindex;
 
8
  $this->attempt_upload();
9
  }
10
 
 
11
  protected function attempt_upload() {
12
  // If there was an attempt to upload a file
13
  if (isset($_FILES[$this->fileindex])
@@ -22,21 +26,23 @@ class gal_keyfile_uploader {
22
  }
23
 
24
  if (isset($_FILES[$this->fileindex]['size']) && $_FILES[$this->fileindex]['size'] <= 0) {
25
- ob_start();
26
- var_dump($_FILES[$this->fileindex]);
27
- error_log(ob_get_clean());
28
-
29
  $this->error = 'no_content';
30
  return;
31
  }
32
 
33
- $this->read_json($_FILES[$this->fileindex]['tmp_name']);
 
 
 
 
 
 
 
34
  }
35
  }
36
 
37
- protected function read_json($filepath) {
38
- $contents = @file_get_contents($filepath);
39
- $fullkey = json_decode($contents, TRUE);
40
  if ($fullkey === null || !is_array($fullkey)) {
41
  $this->error = 'decode_error';
42
  return;
3
  class gal_keyfile_uploader {
4
 
5
  protected $fileindex = '';
6
+ protected $jsontext = '';
7
+ // JSON could have been submitted by a file or by text
8
+ public function __construct($fileindex, $jsontext) {
9
  $this->fileindex = $fileindex;
10
+ $this->jsontext = $jsontext;
11
  $this->attempt_upload();
12
  }
13
 
14
+ protected $contents = null;
15
  protected function attempt_upload() {
16
  // If there was an attempt to upload a file
17
  if (isset($_FILES[$this->fileindex])
26
  }
27
 
28
  if (isset($_FILES[$this->fileindex]['size']) && $_FILES[$this->fileindex]['size'] <= 0) {
 
 
 
 
29
  $this->error = 'no_content';
30
  return;
31
  }
32
 
33
+ $filepath = $_FILES[$this->fileindex]['tmp_name'];
34
+ $this->contents = @file_get_contents($filepath);
35
+ }
36
+ else if (strlen(trim($this->jsontext)) > 0) {
37
+ $this->contents = strpos($this->jsontext, '\\\\') !== false ? stripslashes($this->jsontext) : $this->jsontext;
38
+ }
39
+ if ($this->contents !== null) {
40
+ $this->read_json();
41
  }
42
  }
43
 
44
+ protected function read_json() {
45
+ $fullkey = json_decode($this->contents, TRUE);
 
46
  if ($fullkey === null || !is_array($fullkey)) {
47
  $this->error = 'decode_error';
48
  return;
css/gal-admin.css CHANGED
@@ -139,3 +139,7 @@ table.gal-admin-service-scopes thead {
139
  font-style: italic;
140
  }
141
 
 
 
 
 
139
  font-style: italic;
140
  }
141
 
142
+ a.gal_jsonkeytext {
143
+ vertical-align: top;
144
+ margin-left: 12px;
145
+ }
google_apps_login.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Google Apps Login
5
  * Plugin URI: http://wp-glogin.com/
6
  * Description: Simple secure login for Wordpress through users' Google Apps accounts (uses secure OAuth2, and MFA if enabled)
7
- * Version: 2.5
8
  * Author: Dan Lester
9
  * Author URI: http://wp-glogin.com/
10
  * License: GPL3
@@ -17,7 +17,7 @@ require_once( plugin_dir_path(__FILE__).'/core/core_google_apps_login.php' );
17
 
18
  class basic_google_apps_login extends core_google_apps_login {
19
 
20
- protected $PLUGIN_VERSION = '2.5';
21
 
22
  // Singleton
23
  private static $instance = null;
4
  * Plugin Name: Google Apps Login
5
  * Plugin URI: http://wp-glogin.com/
6
  * Description: Simple secure login for Wordpress through users' Google Apps accounts (uses secure OAuth2, and MFA if enabled)
7
+ * Version: 2.5.2
8
  * Author: Dan Lester
9
  * Author URI: http://wp-glogin.com/
10
  * License: GPL3
17
 
18
  class basic_google_apps_login extends core_google_apps_login {
19
 
20
+ protected $PLUGIN_VERSION = '2.5.2';
21
 
22
  // Singleton
23
  private static $instance = null;
js/gal-admin.js CHANGED
@@ -33,19 +33,47 @@ jQuery(document).ready(function() {
33
  }
34
  }
35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  // Dependent fields in premium
 
37
  clickfn = function() {
38
  jQuery('#ga_defaultrole').prop('disabled', !jQuery('#input_ga_autocreate').is(':checked'));
39
  };
40
  jQuery('#input_ga_autocreate').on('click', clickfn);
41
  clickfn();
42
 
 
43
  clickfn2 = function() {
44
  jQuery('#input_ga_hidewplogin').prop('disabled', !jQuery('#input_ga_disablewplogin').is(':checked'));
45
  };
46
  jQuery('#input_ga_disablewplogin').on('click', clickfn2);
47
  clickfn2();
48
 
 
 
 
 
 
 
 
 
 
 
49
  // Show service account button
50
  jQuery('#gal-show-admin-serviceacct').on('click', function(e) {
51
  jQuery('#gal-hide-admin-serviceacct').show();
33
  }
34
  }
35
 
36
+ // JSON keyfile Browse for File <-> Textarea
37
+ jQuery('a.gal_jsonkeyfile').on('click', function(e){
38
+ jQuery('input#input_ga_keyfileupload').replaceWith(
39
+ jQuery("<input type='file' name='ga_keyfileupload' id='input_ga_keyfileupload' class='gal_jsonkeyfile'/>")
40
+ );
41
+ jQuery('.gal_jsonkeyfile').hide();
42
+ jQuery('.gal_jsonkeytext').show();
43
+ e.preventDefault();
44
+ });
45
+ jQuery('a.gal_jsonkeytext').on('click', function(e){
46
+ jQuery('.gal_jsonkeytext').hide();
47
+ jQuery('.gal_jsonkeyfile').show();
48
+ jQuery('textarea#input_ga_keyjson').val('');
49
+ e.preventDefault();
50
+ });
51
+
52
  // Dependent fields in premium
53
+ // Default role only makes sense if Auto-create users is checked
54
  clickfn = function() {
55
  jQuery('#ga_defaultrole').prop('disabled', !jQuery('#input_ga_autocreate').is(':checked'));
56
  };
57
  jQuery('#input_ga_autocreate').on('click', clickfn);
58
  clickfn();
59
 
60
+ // Only allow Completely hide WP login if Disable WP login for my domain is checked
61
  clickfn2 = function() {
62
  jQuery('#input_ga_hidewplogin').prop('disabled', !jQuery('#input_ga_disablewplogin').is(':checked'));
63
  };
64
  jQuery('#input_ga_disablewplogin').on('click', clickfn2);
65
  clickfn2();
66
 
67
+ // Only bother with any domain-specific options if a domain has been entered
68
+ if (jQuery('#input_ga_domainname').length > 0) {
69
+ domainchangefn = function() {
70
+ var domainname = jQuery('#input_ga_domainname').val().trim();
71
+ jQuery('#domain-section select, #domain-section input').not('#input_ga_domainname').prop('disabled', domainname == '');
72
+ };
73
+ jQuery('#input_ga_domainname').on('change', domainchangefn);
74
+ domainchangefn();
75
+ }
76
+
77
  // Show service account button
78
  jQuery('#gal-show-admin-serviceacct').on('click', function(e) {
79
  jQuery('#gal-hide-admin-serviceacct').show();
lang/google-apps-login-fr_FR.mo ADDED
Binary file
lang/google-apps-login-fr_FR.po ADDED
@@ -0,0 +1,254 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014
2
+ # This file is distributed under the same license as the package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Google Apps Login\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/googleappslogin\n"
7
+ "POT-Creation-Date: 2014-07-16 12:23+0100\n"
8
+ "PO-Revision-Date: 2014-07-16 15:27+0100\n"
9
+ "Last-Translator: Lucien Ntumba <lntumba@gpcsolutions.fr>\n"
10
+ "Language-Team: FR <FR@li.org>\n"
11
+ "Language: fr\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 1.6.5\n"
16
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
17
+ "X-Poedit-Basepath: /home/lucien/src/google-apps-login\n"
18
+ "X-Poedit-KeywordsList: _e;__;_\n"
19
+ "X-Poedit-SearchPath-0: /home/lucien/src/google-apps-login\n"
20
+
21
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:172
22
+ #, php-format
23
+ msgid "Redirecting to <a href=\"%s\">Login via Google</a>..."
24
+ msgstr "Redirection vers la <a href=\"%s\"> connexion via Google</a>"
25
+
26
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:220
27
+ msgid "Login with Google"
28
+ msgstr "Connexion avec Google"
29
+
30
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:243
31
+ msgid "You did not grant access"
32
+ msgstr "Vous n'avez pas d'autorisation d'accès"
33
+
34
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:246
35
+ msgid ""
36
+ "The admin needs to configure Google Apps Login plugin - please follow <a "
37
+ "href=\"http://wp-glogin.com/installing-google-apps-login/#main-settings\" "
38
+ "target=\"_blank\">instructions here</a>"
39
+ msgstr ""
40
+ "L'administrateur doit configurer le module d'extension de connexion Google "
41
+ "Apps - veuillez suivre <a href=\"http://wp-glogin.com/installing-google-"
42
+ "apps-login/#main-settings\" target=\"_blank\"> instructions ici</a>"
43
+
44
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:262
45
+ msgid ""
46
+ "Session mismatch - try again, but there could be a problem setting state"
47
+ msgstr ""
48
+ "Incompatibilité de session - essayez à nouveau, mais il pourrait y avoir un "
49
+ "mode de réglage du problème"
50
+
51
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:268
52
+ msgid ""
53
+ "Session mismatch - try again, but there could be a problem passing state"
54
+ msgstr ""
55
+ "Incompatibilité de session - essayez à nouveau, mais il pourrait y avoir un "
56
+ "état de passage du problème"
57
+
58
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:275
59
+ msgid ""
60
+ "Session mismatch - try again, but there could be a problem setting cookies"
61
+ msgstr ""
62
+ "Incompatibilité de session - essayez à nouveau,mais il pourrait y avoir un "
63
+ "problème affectant les cookies "
64
+
65
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:308
66
+ msgid "Email needs to be verified on your Google Account"
67
+ msgstr "E-mail doit être vérifiée sur votre compte Google"
68
+
69
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:332
70
+ msgid "User authenticated OK, but error fetching user details from Google"
71
+ msgstr ""
72
+ "Utilisateur authentifié OK, mais erreur, aller chercher les informations "
73
+ "detaillées des utilisateurs de Google"
74
+
75
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:351
76
+ #, php-format
77
+ msgid "User %s not registered in Wordpress"
78
+ msgstr "Utilisateur %s ne pas enregistré dans Wordpress"
79
+
80
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:436
81
+ #, php-format
82
+ msgid ""
83
+ "You will need to complete Google Apps Login <a href=\"%s\">Settings</a> in "
84
+ "order for the plugin to work"
85
+ msgstr ""
86
+ "Vous devrez remplir les champs de connexion Google Apps <a href=\"%s"
87
+ "\">Settings</a> afin que le module d'extension fonctionne"
88
+
89
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:488
90
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:493
91
+ msgid "Google Apps Login settings"
92
+ msgstr "Paramètres de connexion Google Apps"
93
+
94
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:488
95
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:493
96
+ msgid "Google Apps Login"
97
+ msgstr "Google Apps Connexion"
98
+
99
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:513
100
+ msgid "Google Apps Login setup"
101
+ msgstr "Google Apps configuration de connexion"
102
+
103
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:519
104
+ msgid ""
105
+ "To set up your website to enable Google logins, you will need to follow "
106
+ "instructions specific to your website."
107
+ msgstr ""
108
+ "Pour configurer votre site Web afin de permettre les connexions de Google, "
109
+ "vous devrez suivre les instructions spécifiques à votre site Web."
110
+
111
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:522
112
+ msgid "Click here to open your personalized instructions in a new window"
113
+ msgstr ""
114
+ "Cliquez ici pour ouvrir vos instructions personnalisées dans une nouvelle "
115
+ "fenêtre"
116
+
117
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:577
118
+ msgid "Settings saved."
119
+ msgstr "Paramètres enregistrés"
120
+
121
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:604
122
+ #, php-format
123
+ msgid ""
124
+ "The <a href='%s'>instructions</a> above will guide you to Google's Cloud "
125
+ "Console where you will enter two URLs, and also obtain two codes (Client ID "
126
+ "and Client Secret) which you will need to enter in the boxes below."
127
+ msgstr ""
128
+ "Le lien <a href='%s'>instructions</a> ci-dessus vous guidera vers le Cloud "
129
+ "de la Console Google où vous entrerez deux URLs, et vous obtiendrez "
130
+ "également deux codes (ID Client et le code Secret du client) dont vous aurez "
131
+ "besoin d'entrer dans les cases ci-dessous."
132
+
133
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:609
134
+ msgid "Client ID"
135
+ msgstr "ID du client"
136
+
137
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:612
138
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:618
139
+ #, php-format
140
+ msgid "Normally something like %s"
141
+ msgstr "Normalement, quelque chose comme %s"
142
+
143
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:615
144
+ msgid "Client Secret"
145
+ msgstr "Code secret du client"
146
+
147
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:635
148
+ msgid ""
149
+ "Once you have the plugin working, you can try these settings to customize "
150
+ "the login flow for your users."
151
+ msgstr ""
152
+ "Une fois que vous avez le module d'extension fonctionnant, vous pouvez "
153
+ "essayer ces paramètres pour personnaliser le flux de connexion pour vos "
154
+ "utilisateurs."
155
+
156
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:636
157
+ #, php-format
158
+ msgid "See <a href=\"%s\" target=\"gainstr\">instructions here</a>."
159
+ msgstr "Voir <a href=\"%s\" target=\"gainstr\">instructions here</a>."
160
+
161
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:644
162
+ msgid "Force user to confirm Google permissions every time"
163
+ msgstr ""
164
+ "Forcer l'utilisateur à confirmer les autorisations de Google chaque fois"
165
+
166
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:652
167
+ msgid "Automatically redirect to Google from login page"
168
+ msgstr "Rediriger automatiquement à la page de connexion de Google "
169
+
170
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:660
171
+ msgid "Display 'Powered By wp-glogin.com' on Login form"
172
+ msgstr "Affichage 'Powered By wp-glogin.com' sur le formulaire de connexion"
173
+
174
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:668
175
+ msgid "Multisite Options"
176
+ msgstr "Options multisites"
177
+
178
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:669
179
+ #, php-format
180
+ msgid ""
181
+ "This setting is for multisite admins only. See <a href=\"%s\" target="
182
+ "\"gainstr\">instructions here</a>."
183
+ msgstr ""
184
+ "Ce réglage concerne seulement les administrateurs multisite. Voir <a href="
185
+ "\"%s\" target=\"gainstr\">instructions here</a>."
186
+
187
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:674
188
+ msgid "Use sub-site specific callback from Google"
189
+ msgstr "Utilisez des sous-sites rappel spécifique de Google"
190
+
191
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:678
192
+ msgid "Leave unchecked if in doubt"
193
+ msgstr "Laissez désactivé en cas de doute"
194
+
195
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:719
196
+ msgid "The Client ID should be longer than that"
197
+ msgstr "Le numéro de client devrait être plus longue à celle"
198
+
199
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:720
200
+ msgid "The Client Secret should be longer than that"
201
+ msgstr "Le code secrert du client devrait être supérieur à celle"
202
+
203
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:725
204
+ msgid "Unspecified error"
205
+ msgstr "Erreur non spécifiée"
206
+
207
+ #: /home/lucien/src/google-apps-login/core/core_google_apps_login.php:822
208
+ msgid "Settings"
209
+ msgstr "Paramètres"
210
+
211
+ #: /home/lucien/src/google-apps-login/google_apps_login.php:47
212
+ msgid ""
213
+ "For full support, and premium features that greatly simplify WordPress user "
214
+ "management for admins, please visit:"
215
+ msgstr ""
216
+ "Pour un support complet et les fonctionnalités premium qui simplifient "
217
+ "considérablement la gestion utilisateur WordPress pour les administrateurs, "
218
+ "veuillez visiter :"
219
+
220
+ #: /home/lucien/src/google-apps-login/google_apps_login.php:96
221
+ msgid ""
222
+ "The Domain Control section is only applicable to the premium version of this "
223
+ "plugin."
224
+ msgstr ""
225
+ "La section de contrôle de domaine est uniquement applicable à la version "
226
+ "premium de ce module d'extension"
227
+
228
+ #: /home/lucien/src/google-apps-login/google_apps_login.php:98
229
+ msgid ""
230
+ "In this basic version of the plugin, any <i>existing</i> WordPress account "
231
+ "corresponding to a Google email address can authenticate via Google."
232
+ msgstr ""
233
+ "Dans cette version de base du module d'extension, tout <i>existing</i> le "
234
+ "compte WordPress correspondant à une adresse email Google peut "
235
+ "s'authentifier via Google."
236
+
237
+ #: /home/lucien/src/google-apps-login/google_apps_login.php:148
238
+ #, php-format
239
+ msgid ""
240
+ "Completely forget about WordPress user management - upgrade to <a href=\"%s"
241
+ "\">Google Apps Login premium</a> to automatically sync users from your "
242
+ "Google Apps domain"
243
+ msgstr ""
244
+ "Oublier complètement la gestion des utilisateurs WordPress - mise à niveau "
245
+ "vers <a href=\"%s\">Google Apps Login premium</a>pour synchroniser "
246
+ "automatiquement les utilisateurs de votre domaine Google Apps "
247
+
248
+ #: /home/lucien/src/google-apps-login/google_apps_login.php:150
249
+ msgid "Find out more"
250
+ msgstr "En savoir plus"
251
+
252
+ #: /home/lucien/src/google-apps-login/google_apps_login.php:151
253
+ msgid "No Thanks"
254
+ msgstr "Non merci"
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: danlester
3
  Tags: login, google, authentication, oauth2, oauth, admin, google apps, sso, single-sign-on, auth, intranet
4
  Requires at least: 3.5
5
- Tested up to: 3.9
6
- Stable tag: 2.5
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -27,6 +27,7 @@ of mind that only authorized employees have access to the organizations's websit
27
 
28
  See [http://wp-glogin.com/google-apps-login-premium/](http://wp-glogin.com/google-apps-login-premium/?utm_source=Login%20Readme%20Top&utm_medium=freemium&utm_campaign=Freemium)
29
 
 
30
 
31
  = Extensible Platform =
32
 
@@ -66,6 +67,7 @@ they also use OAuth2. This is discussed further in the [FAQ](http://wordpress.or
66
  This plugin currently operates in the following languages:
67
 
68
  * English - default
 
69
  * Serbo-Croatian (sr_RS) - translated by Borisa Djuraskovic of [Web Hosting Hub](http://www.webhostinghub.com/)
70
  * Arabic (ar_SA) - translated by [Jeremy Varnham](http://profiles.wordpress.org/jvarn13)
71
 
@@ -220,6 +222,10 @@ please [click here](http://wp-glogin.com/installing-google-apps-login/basic-setu
220
 
221
  == Changelog ==
222
 
 
 
 
 
223
  = 2.5 =
224
 
225
  Platform extended to provide Service Account settings.
2
  Contributors: danlester
3
  Tags: login, google, authentication, oauth2, oauth, admin, google apps, sso, single-sign-on, auth, intranet
4
  Requires at least: 3.5
5
+ Tested up to: 4.0
6
+ Stable tag: 2.5.2
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
27
 
28
  See [http://wp-glogin.com/google-apps-login-premium/](http://wp-glogin.com/google-apps-login-premium/?utm_source=Login%20Readme%20Top&utm_medium=freemium&utm_campaign=Freemium)
29
 
30
+ [youtube http://www.youtube.com/watch?v=wz9aN_4WaM8]
31
 
32
  = Extensible Platform =
33
 
67
  This plugin currently operates in the following languages:
68
 
69
  * English - default
70
+ * French (fr_FR) - translated by Lucien Ntumba of [GPC.solutions](http://gpcsolutions.fr/)
71
  * Serbo-Croatian (sr_RS) - translated by Borisa Djuraskovic of [Web Hosting Hub](http://www.webhostinghub.com/)
72
  * Arabic (ar_SA) - translated by [Jeremy Varnham](http://profiles.wordpress.org/jvarn13)
73
 
222
 
223
  == Changelog ==
224
 
225
+ = 2.5.2 =
226
+
227
+ Service Account settings can be uploaded by copy-and-paste of JSON file contents as well as just uploading the file directly.
228
+
229
  = 2.5 =
230
 
231
  Platform extended to provide Service Account settings.