Social Login - Version 4.0

Version Description

  • Social Link Service added
  • Optimized for WordPress 3.5
  • Meta "oa_social_login_identity_id" no longer used and removed
  • German translations improved
  • Social Network "YouTube" added
  • Social Network "Odnoklassniki.ru" added
  • Hook "after_signup_form" added
Download this release

Release Info

Developer ClaudeSchlesser
Plugin Icon 128x128 Social Login
Version 4.0
Comparing to
See all releases

Code changes from version 3.7 to 4.0

assets/css/admin.css CHANGED
@@ -230,4 +230,12 @@
230
 
231
  .oa_social_login_provider.oa_social_login_provider_disqus {
232
  background-position: -964px -1px;
 
 
 
 
 
 
 
 
233
  }
230
 
231
  .oa_social_login_provider.oa_social_login_provider_disqus {
232
  background-position: -964px -1px;
233
+ }
234
+
235
+ .oa_social_login_provider.oa_social_login_provider_youtube {
236
+ background-position: -1001px -1px;
237
+ }
238
+
239
+ .oa_social_login_provider.oa_social_login_provider_odnoklassniki {
240
+ background-position: -1038px -1px;
241
  }
assets/img/provider_sprite_35_35.png CHANGED
Binary file
filters.txt CHANGED
File without changes
includes/admin.php CHANGED
@@ -9,9 +9,9 @@ function oa_social_login_admin_user_column_add ($columns)
9
  $settings = get_option ('oa_social_login_settings');
10
 
11
  //Add column if enabled
12
- if (!empty ($settings['plugin_add_column_user_list']))
13
  {
14
- $columns['oa_social_login_registration'] = __ ('Registration', 'oa_social_login');
15
  }
16
  return $columns;
17
  }
@@ -30,16 +30,17 @@ function oa_social_login_admin_user_colum_display ($value, $column_name, $user_i
30
  }
31
 
32
  //Read Identity Provider
33
- $identity_providers = get_user_meta ($user_id, 'oa_social_login_identity_provider');
 
34
 
35
  //Tradition Registration
36
- if (!is_array ($identity_providers) OR count ($identity_providers) < 1)
37
  {
38
  return __ ('Registration Form', 'oa_social_login');
39
  }
40
  else
41
  {
42
- return '<strong>Social Login</strong>: ' . implode (", ", $identity_providers);
43
  }
44
  }
45
  add_action ('manage_users_custom_column', 'oa_social_login_admin_user_colum_display', 10, 3);
@@ -60,9 +61,9 @@ function oa_social_login_admin_menu ()
60
 
61
  //Fix Setup title
62
  global $submenu;
63
- if (is_array ($submenu) AND isset ($submenu['oa_social_login_setup']))
64
  {
65
- $submenu['oa_social_login_setup'][0][0] = __ ('Setup', 'oa_social_login');
66
  }
67
 
68
  add_action ('admin_enqueue_scripts', 'oa_social_login_admin_js');
@@ -84,7 +85,7 @@ function oa_social_login_admin_pre_comment_approved ($approved)
84
  $settings = get_option ('oa_social_login_settings');
85
 
86
  //Check if enabled
87
- if (!empty ($settings['plugin_comment_auto_approve']))
88
  {
89
  $user_id = get_current_user_id ();
90
  if (is_numeric ($user_id))
@@ -162,7 +163,7 @@ function oa_social_login_admin_check_api_settings ()
162
  check_ajax_referer ('oa_social_login_ajax_nonce');
163
 
164
  //Check if all fields have been filled out
165
- if (empty ($_POST['api_subdomain']) OR empty ($_POST['api_key']) OR empty ($_POST['api_secret']))
166
  {
167
  echo 'error_not_all_fields_filled_out';
168
  delete_option ('oa_social_login_api_settings_verified');
@@ -170,8 +171,8 @@ function oa_social_login_admin_check_api_settings ()
170
  }
171
 
172
  //Check the handler
173
- $api_connection_handler = ((!empty ($_POST['api_connection_handler']) AND $_POST['api_connection_handler'] == 'fsockopen') ? 'fsockopen' : 'curl');
174
- $api_connection_use_https = ((!isset ($_POST['api_connection_use_https']) OR $_POST['api_connection_use_https'] == '1') ? true : false);
175
 
176
 
177
  //FSOCKOPEN
@@ -195,14 +196,14 @@ function oa_social_login_admin_check_api_settings ()
195
  }
196
  }
197
 
198
- $api_subdomain = trim (strtolower ($_POST['api_subdomain']));
199
- $api_key = trim ($_POST['api_key']);
200
- $api_secret = trim ($_POST['api_secret']);
201
 
202
  //Full domain entered
203
  if (preg_match ("/([a-z0-9\-]+)\.api\.oneall\.com/i", $api_subdomain, $matches))
204
  {
205
- $api_subdomain = $matches[1];
206
  }
207
 
208
  //Check subdomain format
@@ -217,10 +218,13 @@ function oa_social_login_admin_check_api_settings ()
217
  $api_domain = $api_subdomain . '.api.oneall.com';
218
 
219
  //Connection to
220
- $api_resource_url = ($api_connection_use_https ? 'https' : 'http').'://' . $api_domain . '/tools/ping.json';
221
 
222
  //Get connection details
223
- $result = oa_social_login_do_api_request ($api_connection_handler, $api_resource_url, array ('api_key' => $api_key, 'api_secret' => $api_secret), 15);
 
 
 
224
 
225
  //Parse result
226
  if (is_object ($result) AND property_exists ($result, 'http_code') AND property_exists ($result, 'http_data'))
@@ -231,25 +235,25 @@ function oa_social_login_admin_check_api_settings ()
231
  case 200:
232
  echo 'success';
233
  update_option ('oa_social_login_api_settings_verified', '1');
234
- break;
235
 
236
  //Authentication Error
237
  case 401:
238
  echo 'error_authentication_credentials_wrong';
239
  delete_option ('oa_social_login_api_settings_verified');
240
- break;
241
 
242
  //Wrong Subdomain
243
  case 404:
244
  echo 'error_subdomain_wrong';
245
  delete_option ('oa_social_login_api_settings_verified');
246
- break;
247
 
248
  //Other error
249
  default:
250
  echo 'error_communication';
251
  delete_option ('oa_social_login_api_settings_verified');
252
- break;
253
  }
254
  }
255
  else
@@ -280,22 +284,22 @@ function oa_social_login_admin_js ($hook)
280
  wp_enqueue_script ('jquery');
281
 
282
  wp_localize_script ('oa_social_login_admin_js', 'objectL10n',
283
- array (
284
- 'oa_social_login_ajax_nonce' => $oa_social_login_ajax_nonce,
285
- 'oa_admin_js_1' => __ ('Contacting API - please wait this may take a few minutes ...', 'oa_social_login'),
286
- 'oa_admin_js_101' => __ ('The settings are correct - do not forget to save your changes!', 'oa_social_login'),
287
- 'oa_admin_js_111' => __ ('Please fill out each of the fields above.', 'oa_social_login'),
288
- 'oa_admin_js_112' => __ ('The subdomain does not exist. Have you filled it out correctly?', 'oa_social_login'),
289
- 'oa_admin_js_113' => __ ('The subdomain has a wrong syntax!', 'oa_social_login'),
290
- 'oa_admin_js_114' => __ ('Could not contact API. Are outbound requests on port 443 allowed?', 'oa_social_login'),
291
- 'oa_admin_js_115' => __ ('The API subdomain is correct, but one or both keys are invalid', 'oa_social_login'),
292
- 'oa_admin_js_116' => __ ('Connection handler does not work, try using the Autodetection', 'oa_social_login'),
293
- 'oa_admin_js_201a' => __ ('Detected CURL on Port 443 - do not forget to save your changes!', 'oa_social_login'),
294
- 'oa_admin_js_201b' => __ ('Detected CURL on Port 80 - do not forget to save your changes!', 'oa_social_login'),
295
- 'oa_admin_js_202a' => __ ('Detected FSOCKOPEN on Port 443 - do not forget to save your changes!', 'oa_social_login'),
296
- 'oa_admin_js_202b' => __ ('Detected FSOCKOPEN on Port 80 - do not forget to save your changes!', 'oa_social_login'),
297
- 'oa_admin_js_211' => sprintf (__ ('Autodetection Error - our <a href="%s" target="_blank">documentation</a> helps you fix this issue.', 'oa_social_login'), 'http://docs.oneall.com/plugins/guide/social-login-wordpress/#help')
298
- ));
299
  }
300
  }
301
 
@@ -339,7 +343,7 @@ function oa_social_login_settings_validate ($settings)
339
  GLOBAL $oa_social_login_providers;
340
 
341
  //Settings page?
342
- $page = (!empty ($_POST['page']) ? strtolower ($_POST['page']) : '');
343
 
344
  //Store the sanitzed settings
345
  $sanitzed_settings = get_option ('oa_social_login_settings');
@@ -357,26 +361,33 @@ function oa_social_login_settings_validate ($settings)
357
  {
358
 
359
  //Extract fields
360
- foreach (array ('api_connection_handler', 'api_connection_use_https', 'api_subdomain', 'api_key', 'api_secret', 'providers') AS $key)
 
 
 
 
 
 
 
361
  {
362
  //Value is given
363
- if (isset ($settings[$key]))
364
  {
365
  //Provider tickboxes
366
  if ($key == 'providers')
367
  {
368
  //Resest providers
369
- $sanitzed_settings['providers'] = array ();
370
 
371
  //Loop through new values
372
- if (is_array ($settings['providers']))
373
  {
374
  //Loop through valid values
375
  foreach ($oa_social_login_providers AS $key => $name)
376
  {
377
- if (isset ($settings['providers'][$key]) AND $settings['providers'][$key] == '1')
378
  {
379
- $sanitzed_settings['providers'][$key] = 1;
380
  }
381
  }
382
  }
@@ -384,36 +395,36 @@ function oa_social_login_settings_validate ($settings)
384
  //Other field
385
  else
386
  {
387
- $sanitzed_settings[$key] = trim ($settings[$key]);
388
  }
389
  }
390
  }
391
  //Sanitize API Use HTTPS
392
- $sanitzed_settings['api_connection_use_https'] = (empty ($sanitzed_settings['api_connection_use_https']) ? 0 : 1);
393
 
394
  //Sanitize API Connection handler
395
- if (isset ($sanitzed_settings['api_connection_handler']) AND in_array (strtolower ($sanitzed_settings['api_connection_handler']), array ('curl', 'fsockopen')))
396
  {
397
- $sanitzed_settings['api_connection_handler'] = strtolower ($sanitzed_settings['api_connection_handler']);
398
  }
399
  else
400
  {
401
- $sanitzed_settings['api_connection_handler'] = 'curl';
402
  }
403
 
404
  //Sanitize API Subdomain
405
- if (isset ($sanitzed_settings['api_subdomain']))
406
  {
407
  //Subdomain is always in lowercase
408
- $api_subdomain = strtolower ($sanitzed_settings['api_subdomain']);
409
 
410
  //Full domain entered
411
  if (preg_match ("/([a-z0-9\-]+)\.api\.oneall\.com/i", $api_subdomain, $matches))
412
  {
413
- $api_subdomain = $matches[1];
414
  }
415
 
416
- $sanitzed_settings['api_subdomain'] = $api_subdomain;
417
  }
418
 
419
  //Done
@@ -442,6 +453,7 @@ function oa_social_login_settings_validate ($settings)
442
  'plugin_comment_show_if_members_only',
443
  'plugin_comment_auto_approve',
444
  'plugin_comment_show',
 
445
  'plugin_shortcode_login_redirect',
446
  'plugin_shortcode_login_redirect_url',
447
  'plugin_shortcode_register_redirect',
@@ -449,79 +461,80 @@ function oa_social_login_settings_validate ($settings)
449
  'plugin_notify_admin'
450
  ) AS $key)
451
  {
452
- if (isset ($settings[$key]))
453
  {
454
- $sanitzed_settings[$key] = trim ($settings[$key]);
455
  }
456
  }
457
 
458
  //Flag settings
459
- $sanitzed_settings['plugin_add_column_user_list'] == ((isset ($sanitzed_settings['plugin_add_column_user_list']) AND $sanitzed_settings['plugin_add_column_user_list'] == '1') ? 1 : 0);
460
- $sanitzed_settings['plugin_notify_admin'] == ((isset ($sanitzed_settings['plugin_notify_admin']) AND $sanitzed_settings['plugin_notify_admin'] == '0') ? 0 : 1);
461
- $sanitzed_settings['plugin_require_email'] == ((isset ($sanitzed_settings['plugin_require_email']) AND $sanitzed_settings['plugin_require_email'] == '1') ? 1 : 0);
462
- $sanitzed_settings['plugin_comment_show'] == ((isset ($sanitzed_settings['plugin_comment_show']) AND $sanitzed_settings['plugin_comment_show'] == '0') ? 0 : 1);
463
- $sanitzed_settings['plugin_use_small_buttons'] == ((isset ($sanitzed_settings['plugin_use_small_buttons']) AND $sanitzed_settings['plugin_use_small_buttons'] == '1') ? 1 : 0);
464
- $sanitzed_settings['plugin_show_avatars_in_comments'] == ((isset ($sanitzed_settings['plugin_show_avatars_in_comments']) AND $sanitzed_settings['plugin_show_avatars_in_comments'] == '1') ? 1 : 0);
465
- $sanitzed_settings['plugin_link_verified_accounts'] == ((isset ($sanitzed_settings['plugin_link_verified_accounts']) AND $sanitzed_settings['plugin_link_verified_accounts'] == '0') ? 0 : 1);
466
- $sanitzed_settings['plugin_login_form_redirect'] = ((isset ($sanitzed_settings['plugin_login_form_redirect']) AND in_array ($sanitzed_settings['plugin_login_form_redirect'], array ('dashboard', 'homepage', 'custom'))) ? $sanitzed_settings['plugin_login_form_redirect'] : 'homepage');
467
- $sanitzed_settings['plugin_registration_form_redirect'] = ((isset ($sanitzed_settings['plugin_registration_form_redirect']) AND in_array ($sanitzed_settings['plugin_registration_form_redirect'], array ('dashboard', 'homepage','custom'))) ? $sanitzed_settings['plugin_registration_form_redirect'] : 'dashboard');
468
- $sanitzed_settings['plugin_display_in_login_form'] == ((isset ($sanitzed_settings['plugin_display_in_login_form']) AND $sanitzed_settings['plugin_display_in_login_form'] == '0') ? 0 : 1);
469
- $sanitzed_settings['plugin_comment_show_if_members_only'] == ((isset ($sanitzed_settings['plugin_comment_show_if_members_only']) AND $sanitzed_settings['plugin_comment_show_if_members_only'] == '1') ? 1 : 0);
470
- $sanitzed_settings['plugin_comment_auto_approve'] == ((isset ($sanitzed_settings['plugin_comment_auto_approve']) AND $sanitzed_settings['plugin_comment_auto_approve'] == '1') ? 1 : 0);
471
- $sanitzed_settings['plugin_shortcode_login_redirect'] = ((isset ($sanitzed_settings['plugin_shortcode_login_redirect']) AND in_array ($sanitzed_settings['plugin_shortcode_login_redirect'], array ('current', 'dashboard', 'homepage', 'custom'))) ? $sanitzed_settings['plugin_shortcode_login_redirect'] : 'current');
472
- $sanitzed_settings['plugin_shortcode_register_redirect'] = ((isset ($sanitzed_settings['plugin_shortcode_register_redirect']) AND in_array ($sanitzed_settings['plugin_shortcode_register_redirect'], array ('current', 'dashboard', 'homepage', 'custom'))) ? $sanitzed_settings['plugin_shortcode_register_redirect'] : 'current');
 
473
 
474
  //Check Widget & Shortcode Login Redirection Settings
475
- if ($sanitzed_settings['plugin_shortcode_login_redirect'] == 'custom')
476
  {
477
- if (empty ($sanitzed_settings['plugin_shortcode_login_redirect_url']))
478
  {
479
- $sanitzed_settings['plugin_shortcode_login_redirect'] = 'current';
480
  }
481
  }
482
  else
483
  {
484
- $sanitzed_settings['plugin_shortcode_login_redirect_url'] = '';
485
  }
486
 
487
  //Check Widget & Shortcode Registration Redirection Settings
488
- if ($sanitzed_settings['plugin_shortcode_register_redirect'] == 'custom')
489
  {
490
- if (empty ($sanitzed_settings['plugin_shortcode_register_redirect_url']))
491
  {
492
- $sanitzed_settings['plugin_shortcode_register_redirect'] = 'current';
493
  }
494
  }
495
  else
496
  {
497
- $sanitzed_settings['plugin_shortcode_register_redirect_url'] = '';
498
  }
499
 
500
  //Check Login Redirection Settings
501
- if ($sanitzed_settings['plugin_login_form_redirect'] == 'custom')
502
  {
503
- if (empty ($sanitzed_settings['plugin_login_form_redirect_custom_url']))
504
  {
505
- $sanitzed_settings['plugin_login_form_redirect'] = 'homepage';
506
  }
507
  }
508
  else
509
  {
510
- $sanitzed_settings['plugin_login_form_redirect_custom_url'] = '';
511
  }
512
 
513
 
514
  //Check Registration Redirection Settings
515
- if ($sanitzed_settings['plugin_registration_form_redirect'] == 'custom')
516
  {
517
- if (empty ($sanitzed_settings['plugin_registration_form_redirect_custom_url']))
518
  {
519
- $sanitzed_settings['plugin_registration_form_redirect'] = 'dashboard';
520
  }
521
  }
522
  else
523
  {
524
- $sanitzed_settings['plugin_registration_form_redirect_custom_url'] = '';
525
  }
526
 
527
  //Done
@@ -540,7 +553,7 @@ function oa_display_social_login_setup ()
540
  {
541
  //Import providers
542
  GLOBAL $oa_social_login_providers;
543
- ?>
544
  <div class="wrap">
545
  <div id="oa_social_login_page" class="oa_social_login_setup">
546
  <h2>
@@ -603,15 +616,15 @@ function oa_display_social_login_setup ()
603
  </ul>
604
  </div>
605
  <?php
606
- if (!empty ($_REQUEST['settings-updated']) AND strtolower ($_REQUEST['settings-updated']) == 'true')
607
  {
608
- ?>
609
  <div class="oa_social_login_box" id="oa_social_login_box_updated">
610
  <?php _e ('Your modifications have been saved successfully!'); ?>
611
  </div>
612
  <?php
613
- }
614
- ?>
615
  <form method="post" action="options.php">
616
  <?php
617
  settings_fields ('oa_social_login_settings_group');
@@ -623,7 +636,7 @@ function oa_display_social_login_setup ()
623
  </th>
624
  </tr>
625
  <?php
626
- $api_connection_handler = ((empty ($settings['api_connection_handler']) OR $settings['api_connection_handler'] <> 'fsockopen') ? 'curl' : 'fsockopen');
627
  ?>
628
  <tr class="row_even">
629
  <td rowspan="2" class="row_multi" style="width:180px">
@@ -643,7 +656,7 @@ function oa_display_social_login_setup ()
643
  </td>
644
  </tr>
645
  <?php
646
- $api_connection_use_https = ((!isset ($settings['api_connection_use_https']) OR $settings['api_connection_use_https'] == '1') ? true : false);
647
  ?>
648
  <tr class="row_even">
649
  <td rowspan="2" class="row_multi" style="width:180px">
@@ -676,9 +689,7 @@ function oa_display_social_login_setup ()
676
  <th>
677
  <?php _e ('API Settings', 'oa_social_login'); ?>
678
  </th>
679
- <th><a href="https://app.oneall.com/applications/" target="_blank">
680
- <?php _e ('Click here to create and view your API Credentials', 'oa_social_login'); ?>
681
- </a>
682
  </th>
683
  </tr>
684
  <tr class="row_even">
@@ -686,7 +697,7 @@ function oa_display_social_login_setup ()
686
  <label for="oa_social_login_settings_api_subdomain"><?php _e ('API Subdomain', 'oa_social_login'); ?>:</label>
687
  </td>
688
  <td>
689
- <input type="text" id="oa_social_login_settings_api_subdomain" name="oa_social_login_settings[api_subdomain]" size="65" value="<?php echo (isset ($settings['api_subdomain']) ? htmlspecialchars ($settings['api_subdomain']) : ''); ?>" />
690
  </td>
691
  </tr>
692
  <tr class="row_odd">
@@ -694,7 +705,7 @@ function oa_display_social_login_setup ()
694
  <label for="oa_social_login_settings_api_key"><?php _e ('API Public Key', 'oa_social_login'); ?>:</label>
695
  </td>
696
  <td>
697
- <input type="text" id="oa_social_login_settings_api_key" name="oa_social_login_settings[api_key]" size="65" value="<?php echo (isset ($settings['api_key']) ? htmlspecialchars ($settings['api_key']) : ''); ?>" />
698
  </td>
699
  </tr>
700
  <tr class="row_even">
@@ -702,7 +713,7 @@ function oa_display_social_login_setup ()
702
  <label for="oa_social_login_settings_api_secret"><?php _e ('API Private Key', 'oa_social_login'); ?>:</label>
703
  </td>
704
  <td>
705
- <input type="text" id="oa_social_login_settings_api_secret" name="oa_social_login_settings[api_secret]" size="65" value="<?php echo (isset ($settings['api_secret']) ? htmlspecialchars ($settings['api_secret']) : ''); ?>" />
706
  </td>
707
  </tr>
708
  <tr class="row_foot">
@@ -727,14 +738,14 @@ function oa_display_social_login_setup ()
727
  ?>
728
  <tr class="row_provider <?php echo ((($i++) % 2) == 0) ? 'row_even' : 'row_odd' ?>">
729
  <td>
730
- <label for="oneall_social_login_provider_<?php echo $key; ?>"><span class="oa_social_login_provider oa_social_login_provider_<?php echo $key; ?>" title="<?php echo htmlspecialchars ($provider_data['name']); ?>"><?php echo htmlspecialchars ($provider_data['name']); ?> </span></label>
731
- <input type="checkbox" id="oneall_social_login_provider_<?php echo $key; ?>" name="oa_social_login_settings[providers][<?php echo $key; ?>]" value="1" <?php checked ('1', $settings['providers'][$key]); ?> />
732
- <label for="oneall_social_login_provider_<?php echo $key; ?>"><?php echo htmlspecialchars ($provider_data['name']); ?> </label>
733
  <?php
734
- if (in_array ($key, array ('vkontakte', 'mailru')))
735
- {
736
- echo ' - ' . sprintf (__ ('To enable cyrillic usernames, you might need <a target="_blank" href="%s">this plugin</a>', 'oa_social_login'), 'http://wordpress.org/extend/plugins/wordpress-special-characters-in-usernames/');
737
- }
738
  ?>
739
  </td>
740
  </tr>
@@ -750,14 +761,14 @@ function oa_display_social_login_setup ()
750
  </div>
751
  </div>
752
  <?php
753
- }
754
 
755
 
756
- /**
757
- * Display Settings Page
758
- **/
759
- function oa_display_social_login_settings ()
760
- {
761
  ?>
762
  <div class="wrap">
763
  <div id="oa_social_login_page" class="oa_social_login_settings">
@@ -781,7 +792,7 @@ function oa_display_social_login_settings ()
781
  </p>
782
  </div>
783
  <?php
784
- if (!empty ($_REQUEST['settings-updated']) AND strtolower ($_REQUEST['settings-updated']) == 'true')
785
  {
786
  ?>
787
  <div class="oa_social_login_box" id="oa_social_login_box_updated">
@@ -803,7 +814,7 @@ function oa_display_social_login_settings ()
803
  </tr>
804
  <tr class="row_even">
805
  <td>
806
- <input type="text" name="oa_social_login_settings[plugin_caption]" size="90" value="<?php echo (isset ($settings['plugin_caption']) ? htmlspecialchars ($settings['plugin_caption']) : _e ('Connect with:', 'oa_social_login')); ?>" />
807
  </td>
808
  </tr>
809
  <tr class="row_odd">
@@ -813,7 +824,9 @@ function oa_display_social_login_settings ()
813
  </tr>
814
  <tr class="row_even">
815
  <td>
816
- <?php $plugin_use_small_buttons = (isset ($settings['plugin_use_small_buttons']) AND $settings['plugin_use_small_buttons'] == '1'); ?>
 
 
817
  <input type="radio" name="oa_social_login_settings[plugin_use_small_buttons]" value="0" <?php echo (!$plugin_use_small_buttons ? 'checked="checked"' : ''); ?> /> <?php printf (__ ('Use the default social network buttons (%s)', 'oa_social_login'), '32x32 px'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
818
  <input type="radio" name="oa_social_login_settings[plugin_use_small_buttons]" value="1" <?php echo ($plugin_use_small_buttons ? 'checked="checked"' : ''); ?> /> <?php printf (__ ('Use the small social network buttons (%s)', 'oa_social_login'), '16x16 px'); ?>
819
  </td>
@@ -825,7 +838,9 @@ function oa_display_social_login_settings ()
825
  </tr>
826
  <tr class="row_even">
827
  <td>
828
- <?php $plugin_add_column_user_list = (isset ($settings['plugin_add_column_user_list']) AND $settings['plugin_add_column_user_list'] == '1'); ?>
 
 
829
  <input type="radio" name="oa_social_login_settings[plugin_add_column_user_list]" value="1" <?php echo ($plugin_add_column_user_list ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, add a new column to the user list and display the social network that the user connected with', 'oa_social_login'); ?> <br />
830
  <input type="radio" name="oa_social_login_settings[plugin_add_column_user_list]" value="0" <?php echo (!$plugin_add_column_user_list ? 'checked="checked"' : ''); ?> /> <?php _e ('No, no not display the social networks in the user list', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong>
831
  </td>
@@ -837,7 +852,9 @@ function oa_display_social_login_settings ()
837
  </tr>
838
  <tr class="row_even">
839
  <td>
840
- <?php $plugin_notify_admin = (!isset ($settings['plugin_notify_admin']) OR $settings['plugin_notify_admin'] == '1'); ?>
 
 
841
  <input type="radio" name="oa_social_login_settings[plugin_notify_admin]" value="1" <?php echo ($plugin_notify_admin ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, send me an email whenever a new user registers with Social Login', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
842
  <input type="radio" name="oa_social_login_settings[plugin_notify_admin]" value="0" <?php echo (!$plugin_notify_admin ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not send me any emails', 'oa_social_login'); ?>
843
  </td>
@@ -856,10 +873,12 @@ function oa_display_social_login_settings ()
856
  </tr>
857
  <tr class="row_even">
858
  <td>
859
- <?php $plugin_require_email = (isset ($settings['plugin_require_email']) AND $settings['plugin_require_email'] == '1'); ?>
 
 
860
  <input type="radio" name="oa_social_login_settings[plugin_require_email]" value="0" <?php echo (!$plugin_require_email ? 'checked="checked"' : ''); ?> /> <?php _e ('No, simplify the registration by automatically creating a placeholder email', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
861
  <input type="radio" name="oa_social_login_settings[plugin_require_email]" value="1" <?php echo ($plugin_require_email ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, require the user to enter his email address manually and display this message:', 'oa_social_login'); ?> <br />
862
- <textarea name="oa_social_login_settings[plugin_require_email_text]" cols="90" rows="3"><?php echo (isset ($settings['plugin_require_email_text']) ? htmlspecialchars ($settings['plugin_require_email_text']) : _e ('<strong>We unfortunately could not retrieve your email address from %s.</strong> Please enter your email address in the form below in order to continue.', 'oa_social_login')); ?></textarea>
863
  <span class="description"><?php _e ('HTML is allowed, the placeholder %s is replaced by the name of the social network used to connect.', 'oa_social_login'); ?></span>
864
  </td>
865
  </tr>
@@ -870,7 +889,9 @@ function oa_display_social_login_settings ()
870
  </tr>
871
  <tr class="row_even">
872
  <td>
873
- <?php $plugin_link_verified_accounts = (!isset ($settings['plugin_link_verified_accounts']) OR $settings['plugin_link_verified_accounts'] == '1'); ?>
 
 
874
  <input type="radio" name="oa_social_login_settings[plugin_link_verified_accounts]" value="1" <?php echo ($plugin_link_verified_accounts ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, try to link verified social network profiles to existing blog accounts', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
875
  <input type="radio" name="oa_social_login_settings[plugin_link_verified_accounts]" value="0" <?php echo (!$plugin_link_verified_accounts ? 'checked="checked"' : ''); ?> /> <?php _e ('No, disable account linking', 'oa_social_login'); ?>
876
  </td>
@@ -882,7 +903,9 @@ function oa_display_social_login_settings ()
882
  </tr>
883
  <tr class="row_even">
884
  <td>
885
- <?php $plugin_show_avatars_in_comments = (isset ($settings['plugin_show_avatars_in_comments']) AND $settings['plugin_show_avatars_in_comments'] == '1'); ?>
 
 
886
  <input type="radio" name="oa_social_login_settings[plugin_show_avatars_in_comments]" value="1" <?php echo ($plugin_show_avatars_in_comments ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, show user avatars from social networks if available', 'oa_social_login'); ?><br />
887
  <input type="radio" name="oa_social_login_settings[plugin_show_avatars_in_comments]" value="0" <?php echo (!$plugin_show_avatars_in_comments ? 'checked="checked"' : ''); ?> /> <?php _e ('No, display the default avatars', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong>
888
  </td>
@@ -901,7 +924,9 @@ function oa_display_social_login_settings ()
901
  </tr>
902
  <tr class="row_even">
903
  <td>
904
- <?php $plugin_comment_show = (!isset ($settings['plugin_comment_show']) OR !empty ($settings['plugin_comment_show'])); ?>
 
 
905
  <input type="radio" name="oa_social_login_settings[plugin_comment_show]" value="1" <?php echo ($plugin_comment_show ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, show the Social Login buttons', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
906
  <input type="radio" name="oa_social_login_settings[plugin_comment_show]" value="0" <?php echo (!$plugin_comment_show ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not show the Social Login buttons', 'oa_social_login'); ?><br />
907
  </td>
@@ -913,7 +938,9 @@ function oa_display_social_login_settings ()
913
  </tr>
914
  <tr class="row_even">
915
  <td>
916
- <?php $plugin_comment_show_if_members_only = (!isset ($settings['plugin_comment_show_if_members_only']) OR !empty ($settings['plugin_comment_show_if_members_only'])); ?>
 
 
917
  <span class="description"><?php _e ('The buttons will be displayed below the "You must be logged in to leave a comment" notice.'); ?> </span><br />
918
  <input type="radio" name="oa_social_login_settings[plugin_comment_show_if_members_only]" value="1" <?php echo ($plugin_comment_show_if_members_only ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, show the Social Login buttons', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
919
  <input type="radio" name="oa_social_login_settings[plugin_comment_show_if_members_only]" value="0" <?php echo (!$plugin_comment_show_if_members_only ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not show the Social Login buttons', 'oa_social_login'); ?>
@@ -926,13 +953,38 @@ function oa_display_social_login_settings ()
926
  </tr>
927
  <tr class="row_even">
928
  <td>
929
- <?php $plugin_comment_auto_approve = (isset ($settings['plugin_comment_auto_approve']) AND $settings['plugin_comment_auto_approve'] == '1'); ?>
 
 
930
  <input type="radio" name="oa_social_login_settings[plugin_comment_auto_approve]" value="1" <?php echo ($plugin_comment_auto_approve ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, automatically approve comments made by users that connected with Social Login', 'oa_social_login'); ?><br />
931
  <input type="radio" name="oa_social_login_settings[plugin_comment_auto_approve]" value="0" <?php echo (!$plugin_comment_auto_approve ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not automatically approve', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)
932
  </strong><br />
933
  </td>
934
  </tr>
935
  </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
936
  <table class="form-table oa_social_login_table">
937
  <tr class="row_head">
938
  <th>
@@ -946,7 +998,9 @@ function oa_display_social_login_settings ()
946
  </tr>
947
  <tr class="row_even">
948
  <td>
949
- <?php $plugin_display_in_login_form = (!isset ($settings['plugin_display_in_login_form']) OR $settings['plugin_display_in_login_form'] == '1'); ?>
 
 
950
  <input type="radio" name="oa_social_login_settings[plugin_display_in_login_form]" value="1" <?php echo ($plugin_display_in_login_form ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, display the social network buttons below the login form', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
951
  <input type="radio" name="oa_social_login_settings[plugin_display_in_login_form]" value="0" <?php echo (!$plugin_display_in_login_form ? 'checked="checked"' : ''); ?> /> <?php _e ('No, disable social network buttons in the login form', 'oa_social_login'); ?>
952
  </td>
@@ -958,11 +1012,13 @@ function oa_display_social_login_settings ()
958
  </tr>
959
  <tr class="row_even">
960
  <td>
961
- <?php $plugin_login_form_redirect = ((!isset ($settings['plugin_login_form_redirect']) OR !in_array ($settings['plugin_login_form_redirect'], array ('dashboard','homepage','custom'))) ? 'homepage' : $settings['plugin_login_form_redirect']); ?>
 
 
962
  <input type="radio" name="oa_social_login_settings[plugin_login_form_redirect]" value="homepage" <?php echo ($plugin_login_form_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
963
  <input type="radio" name="oa_social_login_settings[plugin_login_form_redirect]" value="dashboard" <?php echo ($plugin_login_form_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?><br />
964
  <input type="radio" name="oa_social_login_settings[plugin_login_form_redirect]" value="custom" <?php echo ($plugin_login_form_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
965
- <input type="text" name="oa_social_login_settings[plugin_login_form_redirect_custom_url]" size="90" value="<?php echo (isset ($settings['plugin_login_form_redirect_custom_url']) ? htmlspecialchars ($settings['plugin_login_form_redirect_custom_url']) : ''); ?>" />
966
  </td>
967
  </tr>
968
  </table>
@@ -979,7 +1035,9 @@ function oa_display_social_login_settings ()
979
  </tr>
980
  <tr class="row_even">
981
  <td>
982
- <?php $plugin_display_in_registration_form = (!isset ($settings['plugin_display_in_registration_form']) OR $settings['plugin_display_in_registration_form'] == '1'); ?>
 
 
983
  <input type="radio" name="oa_social_login_settings[plugin_display_in_registration_form]" value="1" <?php echo ($plugin_display_in_registration_form ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, display the social network buttons below the registration form', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
984
  <input type="radio" name="oa_social_login_settings[plugin_display_in_registration_form]" value="0" <?php echo (!$plugin_display_in_registration_form ? 'checked="checked"' : ''); ?> /> <?php _e ('No, disable social network buttons in the registration form', 'oa_social_login'); ?>
985
  </td>
@@ -991,11 +1049,13 @@ function oa_display_social_login_settings ()
991
  </tr>
992
  <tr class="row_even">
993
  <td>
994
- <?php $plugin_registration_form_redirect = ((!isset ($settings['plugin_registration_form_redirect']) OR !in_array ($settings['plugin_registration_form_redirect'], array ('dashboard','homepage','custom'))) ? 'dashboard' : $settings['plugin_registration_form_redirect']); ?>
 
 
995
  <input type="radio" name="oa_social_login_settings[plugin_registration_form_redirect]" value="homepage" <?php echo ($plugin_registration_form_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?><br />
996
  <input type="radio" name="oa_social_login_settings[plugin_registration_form_redirect]" value="dashboard" <?php echo ($plugin_registration_form_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
997
  <input type="radio" name="oa_social_login_settings[plugin_registration_form_redirect]" value="custom" <?php echo ($plugin_registration_form_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
998
- <input type="text" name="oa_social_login_settings[plugin_registration_form_redirect_custom_url]" size="90" value="<?php echo (isset ($settings['plugin_registration_form_redirect_custom_url']) ? htmlspecialchars ($settings['plugin_registration_form_redirect_custom_url']) : ''); ?>" />
999
  </td>
1000
  </tr>
1001
  </table>
@@ -1012,12 +1072,14 @@ function oa_display_social_login_settings ()
1012
  </tr>
1013
  <tr class="row_even">
1014
  <td>
1015
- <?php $plugin_shortcode_login_redirect = ((!isset ($settings['plugin_shortcode_login_redirect']) OR !in_array ($settings['plugin_shortcode_login_redirect'], array ('current','dashboard','homepage','custom'))) ? 'current' : $settings['plugin_shortcode_login_redirect']); ?>
 
 
1016
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="current" <?php echo ($plugin_shortcode_login_redirect == 'current' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users back to the current page', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1017
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="homepage" <?php echo ($plugin_shortcode_login_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?> <br />
1018
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="dashboard" <?php echo ($plugin_shortcode_login_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?><br />
1019
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="custom" <?php echo ($plugin_shortcode_login_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
1020
- <input type="text" name="oa_social_login_settings[plugin_shortcode_login_redirect_url]" size="90" value="<?php echo (isset ($settings['plugin_shortcode_login_redirect_url']) ? htmlspecialchars ($settings['plugin_shortcode_login_redirect_url']) : ''); ?>" />
1021
  </td>
1022
  </tr>
1023
  <tr class="row_odd">
@@ -1027,12 +1089,14 @@ function oa_display_social_login_settings ()
1027
  </tr>
1028
  <tr class="row_even">
1029
  <td>
1030
- <?php $plugin_shortcode_register_redirect = ((!isset ($settings['plugin_shortcode_register_redirect']) OR !in_array ($settings['plugin_shortcode_register_redirect'], array ('current','dashboard','homepage','custom'))) ? 'current' : $settings['plugin_shortcode_register_redirect']); ?>
 
 
1031
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="current" <?php echo ($plugin_shortcode_register_redirect == 'current' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users back to the current page', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1032
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="homepage" <?php echo ($plugin_shortcode_register_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?><br />
1033
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="dashboard" <?php echo ($plugin_shortcode_register_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?><br />
1034
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="custom" <?php echo ($plugin_shortcode_register_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
1035
- <input type="text" name="oa_social_login_settings[plugin_shortcode_register_redirect_url]" size="90" value="<?php echo (isset ($settings['plugin_shortcode_register_redirect_url']) ? htmlspecialchars ($settings['plugin_shortcode_register_redirect_url']) : ''); ?>" />
1036
  </td>
1037
  </tr>
1038
  </table>
@@ -1044,5 +1108,5 @@ function oa_display_social_login_settings ()
1044
  </div>
1045
  </div>
1046
  <?php
1047
- }
1048
 
9
  $settings = get_option ('oa_social_login_settings');
10
 
11
  //Add column if enabled
12
+ if (!empty ($settings ['plugin_add_column_user_list']))
13
  {
14
+ $columns ['oa_social_login_registration'] = __ ('Registration', 'oa_social_login');
15
  }
16
  return $columns;
17
  }
30
  }
31
 
32
  //Read Identity Provider
33
+ $meta_identity_providers = explode ("|", get_user_meta ($user_id, 'oa_social_login_identity_provider', true));
34
+ $meta_identity_providers = array_unique ($meta_identity_providers);
35
 
36
  //Tradition Registration
37
+ if (!is_array ($meta_identity_providers) OR count ($meta_identity_providers) < 1)
38
  {
39
  return __ ('Registration Form', 'oa_social_login');
40
  }
41
  else
42
  {
43
+ return '<strong>Social Login</strong>: ' . implode (", ", $meta_identity_providers);
44
  }
45
  }
46
  add_action ('manage_users_custom_column', 'oa_social_login_admin_user_colum_display', 10, 3);
61
 
62
  //Fix Setup title
63
  global $submenu;
64
+ if (is_array ($submenu) AND isset ($submenu ['oa_social_login_setup']))
65
  {
66
+ $submenu ['oa_social_login_setup'] [0] [0] = __ ('Setup', 'oa_social_login');
67
  }
68
 
69
  add_action ('admin_enqueue_scripts', 'oa_social_login_admin_js');
85
  $settings = get_option ('oa_social_login_settings');
86
 
87
  //Check if enabled
88
+ if (!empty ($settings ['plugin_comment_auto_approve']))
89
  {
90
  $user_id = get_current_user_id ();
91
  if (is_numeric ($user_id))
163
  check_ajax_referer ('oa_social_login_ajax_nonce');
164
 
165
  //Check if all fields have been filled out
166
+ if (empty ($_POST ['api_subdomain']) OR empty ($_POST ['api_key']) OR empty ($_POST ['api_secret']))
167
  {
168
  echo 'error_not_all_fields_filled_out';
169
  delete_option ('oa_social_login_api_settings_verified');
171
  }
172
 
173
  //Check the handler
174
+ $api_connection_handler = ((!empty ($_POST ['api_connection_handler']) AND $_POST ['api_connection_handler'] == 'fsockopen') ? 'fsockopen' : 'curl');
175
+ $api_connection_use_https = ((!isset ($_POST ['api_connection_use_https']) OR $_POST ['api_connection_use_https'] == '1') ? true : false);
176
 
177
 
178
  //FSOCKOPEN
196
  }
197
  }
198
 
199
+ $api_subdomain = trim (strtolower ($_POST ['api_subdomain']));
200
+ $api_key = trim ($_POST ['api_key']);
201
+ $api_secret = trim ($_POST ['api_secret']);
202
 
203
  //Full domain entered
204
  if (preg_match ("/([a-z0-9\-]+)\.api\.oneall\.com/i", $api_subdomain, $matches))
205
  {
206
+ $api_subdomain = $matches [1];
207
  }
208
 
209
  //Check subdomain format
218
  $api_domain = $api_subdomain . '.api.oneall.com';
219
 
220
  //Connection to
221
+ $api_resource_url = ($api_connection_use_https ? 'https' : 'http') . '://' . $api_domain . '/tools/ping.json';
222
 
223
  //Get connection details
224
+ $result = oa_social_login_do_api_request ($api_connection_handler, $api_resource_url, array (
225
+ 'api_key' => $api_key,
226
+ 'api_secret' => $api_secret
227
+ ), 15);
228
 
229
  //Parse result
230
  if (is_object ($result) AND property_exists ($result, 'http_code') AND property_exists ($result, 'http_data'))
235
  case 200:
236
  echo 'success';
237
  update_option ('oa_social_login_api_settings_verified', '1');
238
+ break;
239
 
240
  //Authentication Error
241
  case 401:
242
  echo 'error_authentication_credentials_wrong';
243
  delete_option ('oa_social_login_api_settings_verified');
244
+ break;
245
 
246
  //Wrong Subdomain
247
  case 404:
248
  echo 'error_subdomain_wrong';
249
  delete_option ('oa_social_login_api_settings_verified');
250
+ break;
251
 
252
  //Other error
253
  default:
254
  echo 'error_communication';
255
  delete_option ('oa_social_login_api_settings_verified');
256
+ break;
257
  }
258
  }
259
  else
284
  wp_enqueue_script ('jquery');
285
 
286
  wp_localize_script ('oa_social_login_admin_js', 'objectL10n',
287
+ array (
288
+ 'oa_social_login_ajax_nonce' => $oa_social_login_ajax_nonce,
289
+ 'oa_admin_js_1' => __ ('Contacting API - please wait this may take a few minutes ...', 'oa_social_login'),
290
+ 'oa_admin_js_101' => __ ('The settings are correct - do not forget to save your changes!', 'oa_social_login'),
291
+ 'oa_admin_js_111' => __ ('Please fill out each of the fields above.', 'oa_social_login'),
292
+ 'oa_admin_js_112' => __ ('The subdomain does not exist. Have you filled it out correctly?', 'oa_social_login'),
293
+ 'oa_admin_js_113' => __ ('The subdomain has a wrong syntax!', 'oa_social_login'),
294
+ 'oa_admin_js_114' => __ ('Could not contact API. Are outbound requests on port 443 allowed?', 'oa_social_login'),
295
+ 'oa_admin_js_115' => __ ('The API subdomain is correct, but one or both keys are invalid', 'oa_social_login'),
296
+ 'oa_admin_js_116' => __ ('Connection handler does not work, try using the Autodetection', 'oa_social_login'),
297
+ 'oa_admin_js_201a' => __ ('Detected CURL on Port 443 - do not forget to save your changes!', 'oa_social_login'),
298
+ 'oa_admin_js_201b' => __ ('Detected CURL on Port 80 - do not forget to save your changes!', 'oa_social_login'),
299
+ 'oa_admin_js_202a' => __ ('Detected FSOCKOPEN on Port 443 - do not forget to save your changes!', 'oa_social_login'),
300
+ 'oa_admin_js_202b' => __ ('Detected FSOCKOPEN on Port 80 - do not forget to save your changes!', 'oa_social_login'),
301
+ 'oa_admin_js_211' => sprintf (__ ('Autodetection Error - our <a href="%s" target="_blank">documentation</a> helps you fix this issue.', 'oa_social_login'), 'http://docs.oneall.com/plugins/guide/social-login-wordpress/#help')
302
+ ));
303
  }
304
  }
305
 
343
  GLOBAL $oa_social_login_providers;
344
 
345
  //Settings page?
346
+ $page = (!empty ($_POST ['page']) ? strtolower ($_POST ['page']) : '');
347
 
348
  //Store the sanitzed settings
349
  $sanitzed_settings = get_option ('oa_social_login_settings');
361
  {
362
 
363
  //Extract fields
364
+ foreach (array (
365
+ 'api_connection_handler',
366
+ 'api_connection_use_https',
367
+ 'api_subdomain',
368
+ 'api_key',
369
+ 'api_secret',
370
+ 'providers'
371
+ ) AS $key)
372
  {
373
  //Value is given
374
+ if (isset ($settings [$key]))
375
  {
376
  //Provider tickboxes
377
  if ($key == 'providers')
378
  {
379
  //Resest providers
380
+ $sanitzed_settings ['providers'] = array ();
381
 
382
  //Loop through new values
383
+ if (is_array ($settings ['providers']))
384
  {
385
  //Loop through valid values
386
  foreach ($oa_social_login_providers AS $key => $name)
387
  {
388
+ if (isset ($settings ['providers'] [$key]) AND $settings ['providers'] [$key] == '1')
389
  {
390
+ $sanitzed_settings ['providers'] [$key] = 1;
391
  }
392
  }
393
  }
395
  //Other field
396
  else
397
  {
398
+ $sanitzed_settings [$key] = trim ($settings [$key]);
399
  }
400
  }
401
  }
402
  //Sanitize API Use HTTPS
403
+ $sanitzed_settings ['api_connection_use_https'] = (empty ($sanitzed_settings ['api_connection_use_https']) ? 0 : 1);
404
 
405
  //Sanitize API Connection handler
406
+ if (isset ($sanitzed_settings ['api_connection_handler']) AND in_array (strtolower ($sanitzed_settings ['api_connection_handler']), array ('curl','fsockopen')))
407
  {
408
+ $sanitzed_settings ['api_connection_handler'] = strtolower ($sanitzed_settings ['api_connection_handler']);
409
  }
410
  else
411
  {
412
+ $sanitzed_settings ['api_connection_handler'] = 'curl';
413
  }
414
 
415
  //Sanitize API Subdomain
416
+ if (isset ($sanitzed_settings ['api_subdomain']))
417
  {
418
  //Subdomain is always in lowercase
419
+ $api_subdomain = strtolower ($sanitzed_settings ['api_subdomain']);
420
 
421
  //Full domain entered
422
  if (preg_match ("/([a-z0-9\-]+)\.api\.oneall\.com/i", $api_subdomain, $matches))
423
  {
424
+ $api_subdomain = $matches [1];
425
  }
426
 
427
+ $sanitzed_settings ['api_subdomain'] = $api_subdomain;
428
  }
429
 
430
  //Done
453
  'plugin_comment_show_if_members_only',
454
  'plugin_comment_auto_approve',
455
  'plugin_comment_show',
456
+ 'plugin_profile_show',
457
  'plugin_shortcode_login_redirect',
458
  'plugin_shortcode_login_redirect_url',
459
  'plugin_shortcode_register_redirect',
461
  'plugin_notify_admin'
462
  ) AS $key)
463
  {
464
+ if (isset ($settings [$key]))
465
  {
466
+ $sanitzed_settings [$key] = trim ($settings [$key]);
467
  }
468
  }
469
 
470
  //Flag settings
471
+ $sanitzed_settings ['plugin_add_column_user_list'] == ((isset ($sanitzed_settings ['plugin_add_column_user_list']) AND $sanitzed_settings ['plugin_add_column_user_list'] == '1') ? 1 : 0);
472
+ $sanitzed_settings ['plugin_profile_show'] == ((isset ($sanitzed_settings ['plugin_profile_show']) AND $sanitzed_settings ['plugin_profile_show'] == '0') ? 0 : 1);
473
+ $sanitzed_settings ['plugin_notify_admin'] == ((isset ($sanitzed_settings ['plugin_notify_admin']) AND $sanitzed_settings ['plugin_notify_admin'] == '0') ? 0 : 1);
474
+ $sanitzed_settings ['plugin_require_email'] == ((isset ($sanitzed_settings ['plugin_require_email']) AND $sanitzed_settings ['plugin_require_email'] == '1') ? 1 : 0);
475
+ $sanitzed_settings ['plugin_comment_show'] == ((isset ($sanitzed_settings ['plugin_comment_show']) AND $sanitzed_settings ['plugin_comment_show'] == '0') ? 0 : 1);
476
+ $sanitzed_settings ['plugin_use_small_buttons'] == ((isset ($sanitzed_settings ['plugin_use_small_buttons']) AND $sanitzed_settings ['plugin_use_small_buttons'] == '1') ? 1 : 0);
477
+ $sanitzed_settings ['plugin_show_avatars_in_comments'] == ((isset ($sanitzed_settings ['plugin_show_avatars_in_comments']) AND $sanitzed_settings ['plugin_show_avatars_in_comments'] == '1') ? 1 : 0);
478
+ $sanitzed_settings ['plugin_link_verified_accounts'] == ((isset ($sanitzed_settings ['plugin_link_verified_accounts']) AND $sanitzed_settings ['plugin_link_verified_accounts'] == '0') ? 0 : 1);
479
+ $sanitzed_settings ['plugin_login_form_redirect'] = ((isset ($sanitzed_settings ['plugin_login_form_redirect']) AND in_array ($sanitzed_settings ['plugin_login_form_redirect'], array ('dashboard','homepage','custom'))) ? $sanitzed_settings ['plugin_login_form_redirect'] : 'homepage');
480
+ $sanitzed_settings ['plugin_registration_form_redirect'] = ((isset ($sanitzed_settings ['plugin_registration_form_redirect']) AND in_array ($sanitzed_settings ['plugin_registration_form_redirect'], array ('dashboard','homepage','custom'))) ? $sanitzed_settings ['plugin_registration_form_redirect'] : 'dashboard');
481
+ $sanitzed_settings ['plugin_display_in_login_form'] == ((isset ($sanitzed_settings ['plugin_display_in_login_form']) AND $sanitzed_settings ['plugin_display_in_login_form'] == '0') ? 0 : 1);
482
+ $sanitzed_settings ['plugin_comment_show_if_members_only'] == ((isset ($sanitzed_settings ['plugin_comment_show_if_members_only']) AND $sanitzed_settings ['plugin_comment_show_if_members_only'] == '1') ? 1 : 0);
483
+ $sanitzed_settings ['plugin_comment_auto_approve'] == ((isset ($sanitzed_settings ['plugin_comment_auto_approve']) AND $sanitzed_settings ['plugin_comment_auto_approve'] == '1') ? 1 : 0);
484
+ $sanitzed_settings ['plugin_shortcode_login_redirect'] = ((isset ($sanitzed_settings ['plugin_shortcode_login_redirect']) AND in_array ($sanitzed_settings ['plugin_shortcode_login_redirect'], array ('current','dashboard','homepage','custom'))) ? $sanitzed_settings ['plugin_shortcode_login_redirect'] : 'current');
485
+ $sanitzed_settings ['plugin_shortcode_register_redirect'] = ((isset ($sanitzed_settings ['plugin_shortcode_register_redirect']) AND in_array ($sanitzed_settings ['plugin_shortcode_register_redirect'], array ('current','dashboard','homepage','custom'))) ? $sanitzed_settings ['plugin_shortcode_register_redirect'] : 'current');
486
 
487
  //Check Widget & Shortcode Login Redirection Settings
488
+ if ($sanitzed_settings ['plugin_shortcode_login_redirect'] == 'custom')
489
  {
490
+ if (empty ($sanitzed_settings ['plugin_shortcode_login_redirect_url']))
491
  {
492
+ $sanitzed_settings ['plugin_shortcode_login_redirect'] = 'current';
493
  }
494
  }
495
  else
496
  {
497
+ $sanitzed_settings ['plugin_shortcode_login_redirect_url'] = '';
498
  }
499
 
500
  //Check Widget & Shortcode Registration Redirection Settings
501
+ if ($sanitzed_settings ['plugin_shortcode_register_redirect'] == 'custom')
502
  {
503
+ if (empty ($sanitzed_settings ['plugin_shortcode_register_redirect_url']))
504
  {
505
+ $sanitzed_settings ['plugin_shortcode_register_redirect'] = 'current';
506
  }
507
  }
508
  else
509
  {
510
+ $sanitzed_settings ['plugin_shortcode_register_redirect_url'] = '';
511
  }
512
 
513
  //Check Login Redirection Settings
514
+ if ($sanitzed_settings ['plugin_login_form_redirect'] == 'custom')
515
  {
516
+ if (empty ($sanitzed_settings ['plugin_login_form_redirect_custom_url']))
517
  {
518
+ $sanitzed_settings ['plugin_login_form_redirect'] = 'homepage';
519
  }
520
  }
521
  else
522
  {
523
+ $sanitzed_settings ['plugin_login_form_redirect_custom_url'] = '';
524
  }
525
 
526
 
527
  //Check Registration Redirection Settings
528
+ if ($sanitzed_settings ['plugin_registration_form_redirect'] == 'custom')
529
  {
530
+ if (empty ($sanitzed_settings ['plugin_registration_form_redirect_custom_url']))
531
  {
532
+ $sanitzed_settings ['plugin_registration_form_redirect'] = 'dashboard';
533
  }
534
  }
535
  else
536
  {
537
+ $sanitzed_settings ['plugin_registration_form_redirect_custom_url'] = '';
538
  }
539
 
540
  //Done
553
  {
554
  //Import providers
555
  GLOBAL $oa_social_login_providers;
556
+ ?>
557
  <div class="wrap">
558
  <div id="oa_social_login_page" class="oa_social_login_setup">
559
  <h2>
616
  </ul>
617
  </div>
618
  <?php
619
+ if (!empty ($_REQUEST ['settings-updated']) AND strtolower ($_REQUEST ['settings-updated']) == 'true')
620
  {
621
+ ?>
622
  <div class="oa_social_login_box" id="oa_social_login_box_updated">
623
  <?php _e ('Your modifications have been saved successfully!'); ?>
624
  </div>
625
  <?php
626
+ }
627
+ ?>
628
  <form method="post" action="options.php">
629
  <?php
630
  settings_fields ('oa_social_login_settings_group');
636
  </th>
637
  </tr>
638
  <?php
639
+ $api_connection_handler = ((empty ($settings ['api_connection_handler']) OR $settings ['api_connection_handler'] <> 'fsockopen') ? 'curl' : 'fsockopen');
640
  ?>
641
  <tr class="row_even">
642
  <td rowspan="2" class="row_multi" style="width:180px">
656
  </td>
657
  </tr>
658
  <?php
659
+ $api_connection_use_https = ((!isset ($settings ['api_connection_use_https']) OR $settings ['api_connection_use_https'] == '1') ? true : false);
660
  ?>
661
  <tr class="row_even">
662
  <td rowspan="2" class="row_multi" style="width:180px">
689
  <th>
690
  <?php _e ('API Settings', 'oa_social_login'); ?>
691
  </th>
692
+ <th><a href="https://app.oneall.com/applications/" target="_blank"><?php _e ('Click here to create and view your API Credentials', 'oa_social_login'); ?></a>
 
 
693
  </th>
694
  </tr>
695
  <tr class="row_even">
697
  <label for="oa_social_login_settings_api_subdomain"><?php _e ('API Subdomain', 'oa_social_login'); ?>:</label>
698
  </td>
699
  <td>
700
+ <input type="text" id="oa_social_login_settings_api_subdomain" name="oa_social_login_settings[api_subdomain]" size="65" value="<?php echo (isset ($settings ['api_subdomain']) ? htmlspecialchars ($settings ['api_subdomain']) : ''); ?>" />
701
  </td>
702
  </tr>
703
  <tr class="row_odd">
705
  <label for="oa_social_login_settings_api_key"><?php _e ('API Public Key', 'oa_social_login'); ?>:</label>
706
  </td>
707
  <td>
708
+ <input type="text" id="oa_social_login_settings_api_key" name="oa_social_login_settings[api_key]" size="65" value="<?php echo (isset ($settings ['api_key']) ? htmlspecialchars ($settings ['api_key']) : ''); ?>" />
709
  </td>
710
  </tr>
711
  <tr class="row_even">
713
  <label for="oa_social_login_settings_api_secret"><?php _e ('API Private Key', 'oa_social_login'); ?>:</label>
714
  </td>
715
  <td>
716
+ <input type="text" id="oa_social_login_settings_api_secret" name="oa_social_login_settings[api_secret]" size="65" value="<?php echo (isset ($settings ['api_secret']) ? htmlspecialchars ($settings ['api_secret']) : ''); ?>" />
717
  </td>
718
  </tr>
719
  <tr class="row_foot">
738
  ?>
739
  <tr class="row_provider <?php echo ((($i++) % 2) == 0) ? 'row_even' : 'row_odd' ?>">
740
  <td>
741
+ <label for="oneall_social_login_provider_<?php echo $key; ?>"><span class="oa_social_login_provider oa_social_login_provider_<?php echo $key; ?>" title="<?php echo htmlspecialchars ($provider_data ['name']); ?>"><?php echo htmlspecialchars ($provider_data ['name']); ?> </span></label>
742
+ <input type="checkbox" id="oneall_social_login_provider_<?php echo $key; ?>" name="oa_social_login_settings[providers][<?php echo $key; ?>]" value="1" <?php checked ('1', $settings ['providers'] [$key]); ?> />
743
+ <label for="oneall_social_login_provider_<?php echo $key; ?>"><?php echo htmlspecialchars ($provider_data ['name']); ?> </label>
744
  <?php
745
+ if (in_array ($key, array ('vkontakte', 'mailru', 'odnoklassniki')))
746
+ {
747
+ echo ' - ' . sprintf (__ ('To enable cyrillic usernames, you might need <a target="_blank" href="%s">this plugin</a>', 'oa_social_login'), 'http://wordpress.org/extend/plugins/wordpress-special-characters-in-usernames/');
748
+ }
749
  ?>
750
  </td>
751
  </tr>
761
  </div>
762
  </div>
763
  <?php
764
+ }
765
 
766
 
767
+ /**
768
+ * Display Settings Page
769
+ **/
770
+ function oa_display_social_login_settings ()
771
+ {
772
  ?>
773
  <div class="wrap">
774
  <div id="oa_social_login_page" class="oa_social_login_settings">
792
  </p>
793
  </div>
794
  <?php
795
+ if (!empty ($_REQUEST ['settings-updated']) AND strtolower ($_REQUEST ['settings-updated']) == 'true')
796
  {
797
  ?>
798
  <div class="oa_social_login_box" id="oa_social_login_box_updated">
814
  </tr>
815
  <tr class="row_even">
816
  <td>
817
+ <input type="text" name="oa_social_login_settings[plugin_caption]" size="90" value="<?php echo (isset ($settings ['plugin_caption']) ? htmlspecialchars ($settings ['plugin_caption']) : _e ('Connect with:', 'oa_social_login')); ?>" />
818
  </td>
819
  </tr>
820
  <tr class="row_odd">
824
  </tr>
825
  <tr class="row_even">
826
  <td>
827
+ <?php
828
+ $plugin_use_small_buttons = (isset ($settings ['plugin_use_small_buttons']) AND $settings ['plugin_use_small_buttons'] == '1');
829
+ ?>
830
  <input type="radio" name="oa_social_login_settings[plugin_use_small_buttons]" value="0" <?php echo (!$plugin_use_small_buttons ? 'checked="checked"' : ''); ?> /> <?php printf (__ ('Use the default social network buttons (%s)', 'oa_social_login'), '32x32 px'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
831
  <input type="radio" name="oa_social_login_settings[plugin_use_small_buttons]" value="1" <?php echo ($plugin_use_small_buttons ? 'checked="checked"' : ''); ?> /> <?php printf (__ ('Use the small social network buttons (%s)', 'oa_social_login'), '16x16 px'); ?>
832
  </td>
838
  </tr>
839
  <tr class="row_even">
840
  <td>
841
+ <?php
842
+ $plugin_add_column_user_list = (isset ($settings ['plugin_add_column_user_list']) AND $settings ['plugin_add_column_user_list'] == '1');
843
+ ?>
844
  <input type="radio" name="oa_social_login_settings[plugin_add_column_user_list]" value="1" <?php echo ($plugin_add_column_user_list ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, add a new column to the user list and display the social network that the user connected with', 'oa_social_login'); ?> <br />
845
  <input type="radio" name="oa_social_login_settings[plugin_add_column_user_list]" value="0" <?php echo (!$plugin_add_column_user_list ? 'checked="checked"' : ''); ?> /> <?php _e ('No, no not display the social networks in the user list', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong>
846
  </td>
852
  </tr>
853
  <tr class="row_even">
854
  <td>
855
+ <?php
856
+ $plugin_notify_admin = (!isset ($settings ['plugin_notify_admin']) OR $settings ['plugin_notify_admin'] == '1');
857
+ ?>
858
  <input type="radio" name="oa_social_login_settings[plugin_notify_admin]" value="1" <?php echo ($plugin_notify_admin ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, send me an email whenever a new user registers with Social Login', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
859
  <input type="radio" name="oa_social_login_settings[plugin_notify_admin]" value="0" <?php echo (!$plugin_notify_admin ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not send me any emails', 'oa_social_login'); ?>
860
  </td>
873
  </tr>
874
  <tr class="row_even">
875
  <td>
876
+ <?php
877
+ $plugin_require_email = (isset ($settings ['plugin_require_email']) AND $settings ['plugin_require_email'] == '1');
878
+ ?>
879
  <input type="radio" name="oa_social_login_settings[plugin_require_email]" value="0" <?php echo (!$plugin_require_email ? 'checked="checked"' : ''); ?> /> <?php _e ('No, simplify the registration by automatically creating a placeholder email', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
880
  <input type="radio" name="oa_social_login_settings[plugin_require_email]" value="1" <?php echo ($plugin_require_email ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, require the user to enter his email address manually and display this message:', 'oa_social_login'); ?> <br />
881
+ <textarea name="oa_social_login_settings[plugin_require_email_text]" cols="90" rows="3"><?php echo (isset ($settings ['plugin_require_email_text']) ? htmlspecialchars ($settings ['plugin_require_email_text']) : _e ('<strong>We unfortunately could not retrieve your email address from %s.</strong> Please enter your email address in the form below in order to continue.', 'oa_social_login')); ?></textarea>
882
  <span class="description"><?php _e ('HTML is allowed, the placeholder %s is replaced by the name of the social network used to connect.', 'oa_social_login'); ?></span>
883
  </td>
884
  </tr>
889
  </tr>
890
  <tr class="row_even">
891
  <td>
892
+ <?php
893
+ $plugin_link_verified_accounts = (!isset ($settings ['plugin_link_verified_accounts']) OR $settings ['plugin_link_verified_accounts'] == '1');
894
+ ?>
895
  <input type="radio" name="oa_social_login_settings[plugin_link_verified_accounts]" value="1" <?php echo ($plugin_link_verified_accounts ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, try to link verified social network profiles to existing blog accounts', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
896
  <input type="radio" name="oa_social_login_settings[plugin_link_verified_accounts]" value="0" <?php echo (!$plugin_link_verified_accounts ? 'checked="checked"' : ''); ?> /> <?php _e ('No, disable account linking', 'oa_social_login'); ?>
897
  </td>
903
  </tr>
904
  <tr class="row_even">
905
  <td>
906
+ <?php
907
+ $plugin_show_avatars_in_comments = (isset ($settings ['plugin_show_avatars_in_comments']) AND $settings ['plugin_show_avatars_in_comments'] == '1');
908
+ ?>
909
  <input type="radio" name="oa_social_login_settings[plugin_show_avatars_in_comments]" value="1" <?php echo ($plugin_show_avatars_in_comments ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, show user avatars from social networks if available', 'oa_social_login'); ?><br />
910
  <input type="radio" name="oa_social_login_settings[plugin_show_avatars_in_comments]" value="0" <?php echo (!$plugin_show_avatars_in_comments ? 'checked="checked"' : ''); ?> /> <?php _e ('No, display the default avatars', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong>
911
  </td>
924
  </tr>
925
  <tr class="row_even">
926
  <td>
927
+ <?php
928
+ $plugin_comment_show = (!isset ($settings ['plugin_comment_show']) OR !empty ($settings ['plugin_comment_show']));
929
+ ?>
930
  <input type="radio" name="oa_social_login_settings[plugin_comment_show]" value="1" <?php echo ($plugin_comment_show ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, show the Social Login buttons', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
931
  <input type="radio" name="oa_social_login_settings[plugin_comment_show]" value="0" <?php echo (!$plugin_comment_show ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not show the Social Login buttons', 'oa_social_login'); ?><br />
932
  </td>
938
  </tr>
939
  <tr class="row_even">
940
  <td>
941
+ <?php
942
+ $plugin_comment_show_if_members_only = (!isset ($settings ['plugin_comment_show_if_members_only']) OR !empty ($settings ['plugin_comment_show_if_members_only']));
943
+ ?>
944
  <span class="description"><?php _e ('The buttons will be displayed below the "You must be logged in to leave a comment" notice.'); ?> </span><br />
945
  <input type="radio" name="oa_social_login_settings[plugin_comment_show_if_members_only]" value="1" <?php echo ($plugin_comment_show_if_members_only ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, show the Social Login buttons', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
946
  <input type="radio" name="oa_social_login_settings[plugin_comment_show_if_members_only]" value="0" <?php echo (!$plugin_comment_show_if_members_only ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not show the Social Login buttons', 'oa_social_login'); ?>
953
  </tr>
954
  <tr class="row_even">
955
  <td>
956
+ <?php
957
+ $plugin_comment_auto_approve = (isset ($settings ['plugin_comment_auto_approve']) AND $settings ['plugin_comment_auto_approve'] == '1');
958
+ ?>
959
  <input type="radio" name="oa_social_login_settings[plugin_comment_auto_approve]" value="1" <?php echo ($plugin_comment_auto_approve ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, automatically approve comments made by users that connected with Social Login', 'oa_social_login'); ?><br />
960
  <input type="radio" name="oa_social_login_settings[plugin_comment_auto_approve]" value="0" <?php echo (!$plugin_comment_auto_approve ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not automatically approve', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)
961
  </strong><br />
962
  </td>
963
  </tr>
964
  </table>
965
+
966
+ <table class="form-table oa_social_login_table">
967
+ <tr class="row_head">
968
+ <th>
969
+ <?php _e ('Profile Settings', 'oa_social_login'); ?>
970
+ </th>
971
+ </tr>
972
+ <tr class="row_odd">
973
+ <td>
974
+ <strong><?php _e ("Show the Social Link buttons in the user profile?", 'oa_social_login'); ?></strong>
975
+ </td>
976
+ </tr>
977
+ <tr class="row_even">
978
+ <td>
979
+ <span class="description"><?php _e ('Keep this option enabled to allow each user to connect multiple social networks to his own profile.'); ?> </span><br />
980
+ <?php $plugin_profile_show = (!isset ($settings ['plugin_profile_show']) OR !empty ($settings ['plugin_profile_show'])); ?>
981
+ <input type="radio" name="oa_social_login_settings[plugin_profile_show]" value="1" <?php echo ($plugin_profile_show ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, show the Social Link buttons', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
982
+ <input type="radio" name="oa_social_login_settings[plugin_profile_show]" value="0" <?php echo (!$plugin_profile_show ? 'checked="checked"' : ''); ?> /> <?php _e ('No, do not show the Social Link buttons', 'oa_social_login'); ?><br />
983
+ </td>
984
+ </tr>
985
+ </table>
986
+
987
+
988
  <table class="form-table oa_social_login_table">
989
  <tr class="row_head">
990
  <th>
998
  </tr>
999
  <tr class="row_even">
1000
  <td>
1001
+ <?php
1002
+ $plugin_display_in_login_form = (!isset ($settings ['plugin_display_in_login_form']) OR $settings ['plugin_display_in_login_form'] == '1');
1003
+ ?>
1004
  <input type="radio" name="oa_social_login_settings[plugin_display_in_login_form]" value="1" <?php echo ($plugin_display_in_login_form ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, display the social network buttons below the login form', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1005
  <input type="radio" name="oa_social_login_settings[plugin_display_in_login_form]" value="0" <?php echo (!$plugin_display_in_login_form ? 'checked="checked"' : ''); ?> /> <?php _e ('No, disable social network buttons in the login form', 'oa_social_login'); ?>
1006
  </td>
1012
  </tr>
1013
  <tr class="row_even">
1014
  <td>
1015
+ <?php
1016
+ $plugin_login_form_redirect = ((!isset ($settings ['plugin_login_form_redirect']) OR !in_array ($settings ['plugin_login_form_redirect'], array ('dashboard','homepage','custom'))) ? 'homepage' : $settings ['plugin_login_form_redirect']);
1017
+ ?>
1018
  <input type="radio" name="oa_social_login_settings[plugin_login_form_redirect]" value="homepage" <?php echo ($plugin_login_form_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1019
  <input type="radio" name="oa_social_login_settings[plugin_login_form_redirect]" value="dashboard" <?php echo ($plugin_login_form_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?><br />
1020
  <input type="radio" name="oa_social_login_settings[plugin_login_form_redirect]" value="custom" <?php echo ($plugin_login_form_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
1021
+ <input type="text" name="oa_social_login_settings[plugin_login_form_redirect_custom_url]" size="90" value="<?php echo (isset ($settings ['plugin_login_form_redirect_custom_url']) ? htmlspecialchars ($settings ['plugin_login_form_redirect_custom_url']) : ''); ?>" />
1022
  </td>
1023
  </tr>
1024
  </table>
1035
  </tr>
1036
  <tr class="row_even">
1037
  <td>
1038
+ <?php
1039
+ $plugin_display_in_registration_form = (!isset ($settings ['plugin_display_in_registration_form']) OR $settings ['plugin_display_in_registration_form'] == '1');
1040
+ ?>
1041
  <input type="radio" name="oa_social_login_settings[plugin_display_in_registration_form]" value="1" <?php echo ($plugin_display_in_registration_form ? 'checked="checked"' : ''); ?> /> <?php _e ('Yes, display the social network buttons below the registration form', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1042
  <input type="radio" name="oa_social_login_settings[plugin_display_in_registration_form]" value="0" <?php echo (!$plugin_display_in_registration_form ? 'checked="checked"' : ''); ?> /> <?php _e ('No, disable social network buttons in the registration form', 'oa_social_login'); ?>
1043
  </td>
1049
  </tr>
1050
  <tr class="row_even">
1051
  <td>
1052
+ <?php
1053
+ $plugin_registration_form_redirect = ((!isset ($settings ['plugin_registration_form_redirect']) OR !in_array ($settings ['plugin_registration_form_redirect'], array ('dashboard','homepage','custom'))) ? 'dashboard' : $settings ['plugin_registration_form_redirect']);
1054
+ ?>
1055
  <input type="radio" name="oa_social_login_settings[plugin_registration_form_redirect]" value="homepage" <?php echo ($plugin_registration_form_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?><br />
1056
  <input type="radio" name="oa_social_login_settings[plugin_registration_form_redirect]" value="dashboard" <?php echo ($plugin_registration_form_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1057
  <input type="radio" name="oa_social_login_settings[plugin_registration_form_redirect]" value="custom" <?php echo ($plugin_registration_form_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
1058
+ <input type="text" name="oa_social_login_settings[plugin_registration_form_redirect_custom_url]" size="90" value="<?php echo (isset ($settings ['plugin_registration_form_redirect_custom_url']) ? htmlspecialchars ($settings ['plugin_registration_form_redirect_custom_url']) : ''); ?>" />
1059
  </td>
1060
  </tr>
1061
  </table>
1072
  </tr>
1073
  <tr class="row_even">
1074
  <td>
1075
+ <?php
1076
+ $plugin_shortcode_login_redirect = ((!isset ($settings ['plugin_shortcode_login_redirect']) OR !in_array ($settings ['plugin_shortcode_login_redirect'], array ('current', 'dashboard', 'homepage', 'custom'))) ? 'current' : $settings ['plugin_shortcode_login_redirect']);
1077
+ ?>
1078
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="current" <?php echo ($plugin_shortcode_login_redirect == 'current' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users back to the current page', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1079
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="homepage" <?php echo ($plugin_shortcode_login_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?> <br />
1080
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="dashboard" <?php echo ($plugin_shortcode_login_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?><br />
1081
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_login_redirect]" value="custom" <?php echo ($plugin_shortcode_login_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
1082
+ <input type="text" name="oa_social_login_settings[plugin_shortcode_login_redirect_url]" size="90" value="<?php echo (isset ($settings ['plugin_shortcode_login_redirect_url']) ? htmlspecialchars ($settings ['plugin_shortcode_login_redirect_url']) : ''); ?>" />
1083
  </td>
1084
  </tr>
1085
  <tr class="row_odd">
1089
  </tr>
1090
  <tr class="row_even">
1091
  <td>
1092
+ <?php
1093
+ $plugin_shortcode_register_redirect = ((!isset ($settings ['plugin_shortcode_register_redirect']) OR !in_array ($settings ['plugin_shortcode_register_redirect'], array ('current', 'dashboard', 'homepage', 'custom'))) ? 'current' : $settings ['plugin_shortcode_register_redirect']);
1094
+ ?>
1095
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="current" <?php echo ($plugin_shortcode_register_redirect == 'current' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users back to the current page', 'oa_social_login'); ?> <strong>(<?php _e ('Default', 'oa_social_login') ?>)</strong><br />
1096
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="homepage" <?php echo ($plugin_shortcode_register_redirect == 'homepage' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the homepage of my blog', 'oa_social_login'); ?><br />
1097
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="dashboard" <?php echo ($plugin_shortcode_register_redirect == 'dashboard' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to their account dashboard', 'oa_social_login'); ?><br />
1098
  <input type="radio" name="oa_social_login_settings[plugin_shortcode_register_redirect]" value="custom" <?php echo ($plugin_shortcode_register_redirect == 'custom' ? 'checked="checked"' : ''); ?> /> <?php _e ('Redirect users to the following url', 'oa_social_login'); ?>:<br />
1099
+ <input type="text" name="oa_social_login_settings[plugin_shortcode_register_redirect_url]" size="90" value="<?php echo (isset ($settings ['plugin_shortcode_register_redirect_url']) ? htmlspecialchars ($settings ['plugin_shortcode_register_redirect_url']) : ''); ?>" />
1100
  </td>
1101
  </tr>
1102
  </table>
1108
  </div>
1109
  </div>
1110
  <?php
1111
+ }
1112
 
includes/communication.php CHANGED
@@ -1,5 +1,6 @@
1
  <?php
2
 
 
3
  /**
4
  * Handle the callback
5
  */
@@ -42,28 +43,17 @@ function oa_social_login_callback ()
42
  $user_identity_id = $identity->id;
43
  $user_identity_provider = $identity->source->name;
44
 
 
 
 
 
 
 
45
  //Firstname
46
- if (!empty ($identity->name->givenName))
47
- {
48
- $user_first_name = $identity->name->givenName;
49
- }
50
- else
51
- {
52
- $user_first_name = '';
53
- }
54
 
55
  //Lastname
56
- if (!empty ($identity->name->familyName))
57
- {
58
- $user_last_name = $identity->name->familyName;
59
- }
60
- else
61
- {
62
- $user_last_name = '';
63
- }
64
-
65
- //Construct a full name from first and last names
66
- $user_constructed_name = trim ($user_first_name . ' ' . $user_last_name);
67
 
68
  //Fullname
69
  if (!empty ($identity->name->formatted))
@@ -76,28 +66,19 @@ function oa_social_login_callback ()
76
  }
77
  else
78
  {
79
- $user_full_name = $user_constructed_name;
80
  }
81
 
82
- //Email
83
- $user_email = '';
84
- if (property_exists ($identity, 'emails') AND is_array ($identity->emails))
85
- {
86
- foreach ($identity->emails AS $email)
87
- {
88
- $user_email = $email->value;
89
- $user_email_is_verified = ($email->is_verified == '1');
90
- }
91
- }
92
-
93
- //Thumbnail
94
- if (!empty ($identity->thumbnailUrl))
95
- {
96
- $user_thumbnail = trim ($identity->thumbnailUrl);
97
- }
98
- else
99
- {
100
- $user_thumbnail = '';
101
  }
102
 
103
  //User Website
@@ -135,7 +116,7 @@ function oa_social_login_callback ()
135
  $user_login = sanitize_user ($user_login, true);
136
 
137
  // Get user by token
138
- $user_id = oa_social_login_get_user_by_token ($user_token);
139
 
140
  //Try to link to existing account
141
  if (!is_numeric ($user_id))
@@ -160,7 +141,6 @@ function oa_social_login_callback ()
160
 
161
  delete_metadata ('user', null, 'oa_social_login_user_token', $user_token, true);
162
  update_user_meta ($user_id, 'oa_social_login_user_token', $user_token);
163
- update_user_meta ($user_id, 'oa_social_login_identity_id', $user_identity_id);
164
  update_user_meta ($user_id, 'oa_social_login_identity_provider', $user_identity_provider);
165
 
166
  if (!empty ($user_thumbnail))
@@ -198,12 +178,12 @@ function oa_social_login_callback ()
198
  while (username_exists ($user_login_tmp));
199
  $user_login = $user_login_tmp;
200
  }
201
-
202
- //Email Restriction
203
- $user_email = apply_filters ('oa_social_login_filter_new_user_email', $user_email);
204
- if ($user_email === 'disallowed')
205
- {
206
- trigger_error (__('This Social Network account may not be used to register', 'oa_social_login'), E_USER_ERROR);
207
  }
208
 
209
  //Email must be unique
@@ -214,6 +194,9 @@ function oa_social_login_callback ()
214
  $placeholder_email_used = true;
215
  }
216
 
 
 
 
217
  //Build user data
218
  $user_data = array (
219
  'user_login' => $user_login,
@@ -222,7 +205,7 @@ function oa_social_login_callback ()
222
  'first_name' => $user_first_name,
223
  'last_name' => $user_last_name,
224
  'user_url' => $user_website,
225
- 'user_pass' => wp_generate_password ()
226
  );
227
 
228
  // Create a new user
@@ -231,7 +214,6 @@ function oa_social_login_callback ()
231
  {
232
  delete_metadata ('user', null, 'oa_social_login_user_token', $user_token, true);
233
  update_user_meta ($user_id, 'oa_social_login_user_token', $user_token);
234
- update_user_meta ($user_id, 'oa_social_login_identity_id', $user_identity_id);
235
  update_user_meta ($user_id, 'oa_social_login_identity_provider', $user_identity_provider);
236
 
237
  //Store thumbnail
@@ -407,6 +389,16 @@ function oa_social_login_callback ()
407
  $redirect_to = home_url ();
408
  }
409
 
 
 
 
 
 
 
 
 
 
 
410
  //Use safe redirection
411
  if ($redirect_to_safe === true)
412
  {
1
  <?php
2
 
3
+
4
  /**
5
  * Handle the callback
6
  */
43
  $user_identity_id = $identity->id;
44
  $user_identity_provider = $identity->source->name;
45
 
46
+ //Thumbnail
47
+ $user_thumbnail = (!empty ($identity->thumbnailUrl)? trim ($identity->thumbnailUrl) : '');
48
+
49
+ //Picture
50
+ $user_picture = (!empty ($identity->pictureUrl) ? trim ($identity->pictureUrl): '');
51
+
52
  //Firstname
53
+ $user_first_name = (!empty ($identity->name->givenName) ? $identity->name->givenName : '');
 
 
 
 
 
 
 
54
 
55
  //Lastname
56
+ $user_last_name = (!empty ($identity->name->familyName) ? $identity->name->familyName : '');
 
 
 
 
 
 
 
 
 
 
57
 
58
  //Fullname
59
  if (!empty ($identity->name->formatted))
66
  }
67
  else
68
  {
69
+ $user_full_name = trim ($user_first_name . ' ' . $user_last_name);
70
  }
71
 
72
+ // Email Address.
73
+ $user_email = '';
74
+ if (property_exists ($identity, 'emails') AND is_array ($identity->emails))
75
+ {
76
+ $user_email_is_verified = false;
77
+ while ($user_email_is_verified !== true AND (list (,$email) = each ($identity->emails)))
78
+ {
79
+ $user_email = $email->value;
80
+ $user_email_is_verified = ($email->is_verified == '1');
81
+ }
 
 
 
 
 
 
 
 
 
82
  }
83
 
84
  //User Website
116
  $user_login = sanitize_user ($user_login, true);
117
 
118
  // Get user by token
119
+ $user_id = oa_social_login_get_userid_by_token ($user_token);
120
 
121
  //Try to link to existing account
122
  if (!is_numeric ($user_id))
141
 
142
  delete_metadata ('user', null, 'oa_social_login_user_token', $user_token, true);
143
  update_user_meta ($user_id, 'oa_social_login_user_token', $user_token);
 
144
  update_user_meta ($user_id, 'oa_social_login_identity_provider', $user_identity_provider);
145
 
146
  if (!empty ($user_thumbnail))
178
  while (username_exists ($user_login_tmp));
179
  $user_login = $user_login_tmp;
180
  }
181
+
182
+ //Email Restriction
183
+ $user_email = apply_filters ('oa_social_login_filter_new_user_email', $user_email);
184
+ if ($user_email === 'disallowed')
185
+ {
186
+ trigger_error (__ ('This Social Network account may not be used to register', 'oa_social_login'), E_USER_ERROR);
187
  }
188
 
189
  //Email must be unique
194
  $placeholder_email_used = true;
195
  }
196
 
197
+ //Generate a new password
198
+ $user_password = wp_generate_password ();
199
+
200
  //Build user data
201
  $user_data = array (
202
  'user_login' => $user_login,
205
  'first_name' => $user_first_name,
206
  'last_name' => $user_last_name,
207
  'user_url' => $user_website,
208
+ 'user_pass' => $user_password
209
  );
210
 
211
  // Create a new user
214
  {
215
  delete_metadata ('user', null, 'oa_social_login_user_token', $user_token, true);
216
  update_user_meta ($user_id, 'oa_social_login_user_token', $user_token);
 
217
  update_user_meta ($user_id, 'oa_social_login_identity_provider', $user_identity_provider);
218
 
219
  //Store thumbnail
389
  $redirect_to = home_url ();
390
  }
391
 
392
+ // File redirect urls
393
+ if ($new_registration === true)
394
+ {
395
+ $redirect_to = apply_filters ('oa_social_login_filter_registration_redirect_url', $redirect_to, '', $user_data);
396
+ }
397
+ else
398
+ {
399
+ $redirect_to = apply_filters ('oa_social_login_filter_login_redirect_url', $redirect_to, '', $user_data);
400
+ }
401
+
402
  //Use safe redirection
403
  if ($redirect_to_safe === true)
404
  {
includes/settings.php CHANGED
@@ -25,6 +25,9 @@ $oa_social_login_providers = array (
25
  'foursquare' => array (
26
  'name' => 'Foursquare'
27
  ),
 
 
 
28
  'skyrock' => array (
29
  'name' => 'Skyrock.com'
30
  ),
@@ -44,7 +47,7 @@ $oa_social_login_providers = array (
44
  'name' => 'LiveJournal'
45
  ),
46
  'steam' => array (
47
- 'name' => 'Steam'
48
  ),
49
  'windowslive' => array (
50
  'name' => 'Windows Live'
@@ -61,8 +64,10 @@ $oa_social_login_providers = array (
61
  'vkontakte' => array (
62
  'name' => 'VKontakte (Вконтакте)'
63
  ),
 
 
 
64
  'mailru' => array (
65
  'name' => 'Mail.ru'
66
  )
67
  );
68
-
25
  'foursquare' => array (
26
  'name' => 'Foursquare'
27
  ),
28
+ 'youtube' => array (
29
+ 'name' => 'YouTube'
30
+ ),
31
  'skyrock' => array (
32
  'name' => 'Skyrock.com'
33
  ),
47
  'name' => 'LiveJournal'
48
  ),
49
  'steam' => array (
50
+ 'name' => 'Steam Community'
51
  ),
52
  'windowslive' => array (
53
  'name' => 'Windows Live'
64
  'vkontakte' => array (
65
  'name' => 'VKontakte (Вконтакте)'
66
  ),
67
+ 'odnoklassniki' => array (
68
+ 'name' => 'Odnoklassniki.ru'
69
+ ),
70
  'mailru' => array (
71
  'name' => 'Mail.ru'
72
  )
73
  );
 
includes/toolbox.php CHANGED
@@ -10,11 +10,12 @@ function oa_social_login_init ()
10
  {
11
  load_plugin_textdomain ('oa_social_login', false, OA_SOCIAL_LOGIN_BASE_PATH . '/languages/');
12
  }
13
-
14
  //Callback Handler
15
  oa_social_login_callback ();
16
  }
17
 
 
18
  /**
19
  * Add Site CSS
20
  **/
@@ -24,7 +25,7 @@ function oa_social_login_add_site_css ()
24
  {
25
  wp_register_style ('oa_social_login_site_css', OA_SOCIAL_LOGIN_PLUGIN_URL . "/assets/css/site.css");
26
  }
27
-
28
  if (did_action ('wp_print_styles'))
29
  {
30
  wp_print_styles ('oa_social_login_site_css');
@@ -39,53 +40,55 @@ function oa_social_login_add_site_css ()
39
  /**
40
  * Check if the current connection is being made over https
41
  */
42
- function oa_social_login_https_on()
43
  {
44
- if ( ! empty ($_SERVER ['SERVER_PORT']))
45
  {
46
- if (trim($_SERVER ['SERVER_PORT']) == '443')
47
  {
48
  return true;
49
  }
50
  }
51
-
52
- if ( ! empty ($_SERVER ['HTTP_X_FORWARDED_PROTO']))
53
  {
54
- if (strtolower(trim($_SERVER ['HTTP_X_FORWARDED_PROTO'])) == 'https')
55
  {
56
  return true;
57
  }
58
  }
59
-
60
- if ( ! empty ($_SERVER ['HTTPS']))
61
  {
62
- if (strtolower(trim($_SERVER ['HTTPS'])) == 'on' OR trim($_SERVER ['HTTPS']) == '1')
63
  {
64
  return true;
65
  }
66
  }
67
-
68
  return false;
69
  }
70
 
 
71
  /**
72
  * Send a notification to the administrator
73
  */
74
  function oa_social_login_user_notification ($user_id, $user_identity_provider)
75
  {
76
  //Get the user details
77
- $user = new WP_User($user_id);
78
- $user_login = stripslashes($user->user_login);
79
-
80
- // The blogname option is escaped with esc_html on the way into the database
81
- // in sanitize_option we want to reverse this for the plain text arena of emails.
82
- $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
83
-
84
- $message = sprintf(__('New user registration on your site %s:', 'oa_social_login'), $blogname) . "\r\n\r\n";
85
- $message .= sprintf(__('Username: %s', 'oa_social_login'), $user_login) . "\r\n\r\n";
86
- $message .= sprintf(__('Social Network: %s', 'oa_social_login'), $user_identity_provider) . "\r\n";
87
-
88
- @wp_mail(get_option('admin_email'), '[Social Login] '.sprintf(__('[%s] New User Registration', 'oa_social_login'), $blogname), $message);
 
89
  }
90
 
91
 
@@ -95,58 +98,70 @@ function oa_social_login_user_notification ($user_id, $user_identity_provider)
95
  function oa_social_login_get_current_url ()
96
  {
97
  //Get request URI - Should work on Apache + IIS
98
- $request_uri = ((!isset ($_SERVER['REQUEST_URI'])) ? $_SERVER['PHP_SELF'] : $_SERVER['REQUEST_URI']);
99
- $request_port = ((!empty ($_SERVER['SERVER_PORT']) AND $_SERVER['SERVER_PORT'] <> '80') ? (":" . $_SERVER['SERVER_PORT']) : '');
100
  $request_protocol = (oa_social_login_https_on () ? 'https' : 'http') . "://";
101
- $redirect_to = $request_protocol . $_SERVER['SERVER_NAME'] . $request_port . $request_uri;
102
-
103
  //Remove the oa_social_login_source argument
104
  if (strpos ($redirect_to, 'oa_social_login_source') !== false)
105
  {
106
  //Break up url
107
  list($url_part, $query_part) = array_pad (explode ('?', $redirect_to), 2, '');
108
  parse_str ($query_part, $query_vars);
109
-
110
  //Remove oa_social_login_source argument
111
- if (is_array ($query_vars) AND isset ($query_vars['oa_social_login_source']))
112
  {
113
- unset ($query_vars['oa_social_login_source']);
114
  }
115
-
116
  //Build new url
117
  $redirect_to = $url_part . ((is_array ($query_vars) AND count ($query_vars) > 0) ? ('?' . http_build_query ($query_vars)) : '');
118
  }
119
-
120
  return $redirect_to;
121
  }
122
 
 
123
  /**
124
  * Escape an attribute
125
  */
126
  function oa_social_login_esc_attr ($string)
127
  {
128
  //Available since Wordpress 2.8
129
- if (function_exists('esc_attr'))
130
  {
131
  return esc_attr ($string);
132
  }
133
  //Deprecated as of Wordpress 2.8
134
- elseif (function_exists('attribute_escape'))
135
  {
136
- return attribute_escape($string);
137
  }
138
  return htmlspecialchars ($string);
139
  }
140
 
141
 
142
  /**
143
- * Get the user details for a specific token
144
  */
145
- function oa_social_login_get_user_by_token ($user_token)
146
  {
147
  global $wpdb;
148
- $sql = "SELECT u.ID FROM $wpdb->usermeta AS um INNER JOIN $wpdb->users AS u ON (um.user_id=u.ID) WHERE um.meta_key = 'oa_social_login_user_token' AND um.meta_value = '%s'";
149
- return $wpdb->get_var ($wpdb->prepare ($sql, $user_token));
 
 
 
 
 
 
 
 
 
 
 
150
  }
151
 
152
 
@@ -161,4 +176,4 @@ function oa_social_login_create_rand_email ()
161
  }
162
  while (email_exists ($email));
163
  return $email;
164
- }
10
  {
11
  load_plugin_textdomain ('oa_social_login', false, OA_SOCIAL_LOGIN_BASE_PATH . '/languages/');
12
  }
13
+
14
  //Callback Handler
15
  oa_social_login_callback ();
16
  }
17
 
18
+
19
  /**
20
  * Add Site CSS
21
  **/
25
  {
26
  wp_register_style ('oa_social_login_site_css', OA_SOCIAL_LOGIN_PLUGIN_URL . "/assets/css/site.css");
27
  }
28
+
29
  if (did_action ('wp_print_styles'))
30
  {
31
  wp_print_styles ('oa_social_login_site_css');
40
  /**
41
  * Check if the current connection is being made over https
42
  */
43
+ function oa_social_login_https_on ()
44
  {
45
+ if (!empty ($_SERVER ['SERVER_PORT']))
46
  {
47
+ if (trim ($_SERVER ['SERVER_PORT']) == '443')
48
  {
49
  return true;
50
  }
51
  }
52
+
53
+ if (!empty ($_SERVER ['HTTP_X_FORWARDED_PROTO']))
54
  {
55
+ if (strtolower (trim ($_SERVER ['HTTP_X_FORWARDED_PROTO'])) == 'https')
56
  {
57
  return true;
58
  }
59
  }
60
+
61
+ if (!empty ($_SERVER ['HTTPS']))
62
  {
63
+ if (strtolower (trim ($_SERVER ['HTTPS'])) == 'on' OR trim ($_SERVER ['HTTPS']) == '1')
64
  {
65
  return true;
66
  }
67
  }
68
+
69
  return false;
70
  }
71
 
72
+
73
  /**
74
  * Send a notification to the administrator
75
  */
76
  function oa_social_login_user_notification ($user_id, $user_identity_provider)
77
  {
78
  //Get the user details
79
+ $user = new WP_User ($user_id);
80
+ $user_login = stripslashes ($user->user_login);
81
+
82
+ //The blogname option is escaped with esc_html on the way into the database
83
+ $blogname = wp_specialchars_decode (get_option ('blogname'), ENT_QUOTES);
84
+
85
+ //Setup Message
86
+ $message = sprintf (__ ('New user registration on your site %s:', 'oa_social_login'), $blogname) . "\r\n\r\n";
87
+ $message .= sprintf (__ ('Username: %s', 'oa_social_login'), $user_login) . "\r\n\r\n";
88
+ $message .= sprintf (__ ('Social Network: %s', 'oa_social_login'), $user_identity_provider) . "\r\n";
89
+
90
+ //Send Message
91
+ @wp_mail (get_option ('admin_email'), '[Social Login] ' . sprintf (__ ('[%s] New User Registration', 'oa_social_login'), $blogname), $message);
92
  }
93
 
94
 
98
  function oa_social_login_get_current_url ()
99
  {
100
  //Get request URI - Should work on Apache + IIS
101
+ $request_uri = ((!isset ($_SERVER ['REQUEST_URI'])) ? $_SERVER ['PHP_SELF'] : $_SERVER ['REQUEST_URI']);
102
+ $request_port = ((!empty ($_SERVER ['SERVER_PORT']) AND $_SERVER ['SERVER_PORT'] <> '80') ? (":" . $_SERVER ['SERVER_PORT']) : '');
103
  $request_protocol = (oa_social_login_https_on () ? 'https' : 'http') . "://";
104
+ $redirect_to = $request_protocol . $_SERVER ['SERVER_NAME'] . $request_port . $request_uri;
105
+
106
  //Remove the oa_social_login_source argument
107
  if (strpos ($redirect_to, 'oa_social_login_source') !== false)
108
  {
109
  //Break up url
110
  list($url_part, $query_part) = array_pad (explode ('?', $redirect_to), 2, '');
111
  parse_str ($query_part, $query_vars);
112
+
113
  //Remove oa_social_login_source argument
114
+ if (is_array ($query_vars) AND isset ($query_vars ['oa_social_login_source']))
115
  {
116
+ unset ($query_vars ['oa_social_login_source']);
117
  }
118
+
119
  //Build new url
120
  $redirect_to = $url_part . ((is_array ($query_vars) AND count ($query_vars) > 0) ? ('?' . http_build_query ($query_vars)) : '');
121
  }
122
+
123
  return $redirect_to;
124
  }
125
 
126
+
127
  /**
128
  * Escape an attribute
129
  */
130
  function oa_social_login_esc_attr ($string)
131
  {
132
  //Available since Wordpress 2.8
133
+ if (function_exists ('esc_attr'))
134
  {
135
  return esc_attr ($string);
136
  }
137
  //Deprecated as of Wordpress 2.8
138
+ elseif (function_exists ('attribute_escape'))
139
  {
140
+ return attribute_escape ($string);
141
  }
142
  return htmlspecialchars ($string);
143
  }
144
 
145
 
146
  /**
147
+ * Get the userid for a given token
148
  */
149
+ function oa_social_login_get_userid_by_token ($token)
150
  {
151
  global $wpdb;
152
+ $sql = "SELECT u.ID FROM " . $wpdb->usermeta . " AS um INNER JOIN " . $wpdb->users . " AS u ON (um.user_id=u.ID) WHERE um.meta_key = 'oa_social_login_user_token' AND um.meta_value=%s";
153
+ return $wpdb->get_var ($wpdb->prepare ($sql, $token));
154
+ }
155
+
156
+
157
+ /**
158
+ * Get the token for a given userid
159
+ */
160
+ function oa_social_login_get_token_by_userid ($userid)
161
+ {
162
+ global $wpdb;
163
+ $sql = "SELECT um.meta_value FROM " . $wpdb->usermeta . " AS um INNER JOIN " . $wpdb->users . " AS u ON (um.user_id=u.ID) WHERE um.meta_key = 'oa_social_login_user_token' AND u.ID=%d";
164
+ return $wpdb->get_var ($wpdb->prepare ($sql, $userid));
165
  }
166
 
167
 
176
  }
177
  while (email_exists ($email));
178
  return $email;
179
+ }
includes/user_interface.php CHANGED
@@ -1,25 +1,327 @@
1
  <?php
2
 
3
- /**
4
- * Include the Social Library
5
- */
6
- function oa_social_login_add_javascripts ()
7
- {
8
- if (!wp_script_is ('oa_social_library', 'registered'))
9
- {
10
- //Read settings
11
- $settings = get_option ('oa_social_login_settings');
12
-
13
- if (!empty ($settings ['api_subdomain']))
14
- {
15
- //Include in header, without having the version appended
16
- wp_register_script ("oa_social_library", ((oa_social_login_https_on () ? 'https' : 'http') . '://' . $settings ['api_subdomain'] . '.api.oneall.com/socialize/library.js'), array (), null, false);
17
- }
18
- }
19
- wp_print_scripts ('oa_social_library');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  }
21
- add_action ('login_head', 'oa_social_login_add_javascripts');
22
- add_action ('wp_head', 'oa_social_login_add_javascripts');
23
 
24
 
25
  /**
@@ -35,7 +337,7 @@ add_shortcode ('oa_social_login', 'oa_social_login_shortcode_handler');
35
  /**
36
  * Hook to display custom avatars (Buddypress specific)
37
  */
38
- function oa_social_login_bp_custom_fetch_avatar($text, $args)
39
  {
40
  //The social login settings
41
  static $oa_social_login_settings = null;
@@ -51,30 +353,30 @@ function oa_social_login_bp_custom_fetch_avatar($text, $args)
51
  if (is_array ($args))
52
  {
53
  //User Object
54
- if (! empty ($args['object']) AND strtolower ($args['object']) == 'user')
55
  {
56
  //User Identifier
57
- if (! empty ($args['item_id']) AND is_numeric ($args['item_id']))
58
  {
59
  //Retrieve user
60
- if (($user_data = get_userdata( $args['item_id'] )) !== false)
61
  {
62
  //Retrieve Avatar
63
- if (($user_thumbnail = get_user_meta ($args['item_id'], 'oa_social_login_user_thumbnail', true)) !== false)
64
  {
65
  //Thumbnail retrieved
66
  if (strlen (trim ($user_thumbnail)) > 0)
67
  {
68
  //Build Image tags
69
- $img_alt = (! empty ($args['alt']) ? 'alt="'.oa_social_login_esc_attr($args['alt']).'" ' : '');
70
- $img_alt = sprintf($img_alt, htmlspecialchars($user_data->user_login));
71
 
72
- $img_class = ('class="'.(! empty ($args['class']) ? ($args['class'].' ') : '').'avatar-social-login" ');
73
- $img_width = (! empty ($args['width']) ? 'width="'.$args['width'].'" ' : '');
74
- $img_height = (! empty ($args['height']) ? 'height="'.$args['height'].'" ' : '');
75
 
76
  //Replace
77
- $text = preg_replace('#<img[^>]+>#i', '<img data-social-login="bp-d1" src="'.$user_thumbnail.'" '.$img_alt.$img_class.$img_height.$img_width.'/>', $text);
78
  }
79
  }
80
  }
@@ -84,7 +386,7 @@ function oa_social_login_bp_custom_fetch_avatar($text, $args)
84
  }
85
  return $text;
86
  }
87
- add_filter('bp_core_fetch_avatar', 'oa_social_login_bp_custom_fetch_avatar', 10, 2);
88
 
89
 
90
  /**
@@ -118,7 +420,7 @@ function oa_social_login_custom_avatar ($avatar, $mixed, $size, $default, $alt =
118
  $user_id = $comment->user_id;
119
  }
120
  //Check if we have an user identifier
121
- elseif (is_numeric($mixed))
122
  {
123
  if ($mixed > 0)
124
  {
@@ -127,13 +429,13 @@ function oa_social_login_custom_avatar ($avatar, $mixed, $size, $default, $alt =
127
  }
128
  }
129
  //Check if we have an email
130
- elseif (is_string($mixed) && ($user = get_user_by( 'email', $mixed)))
131
  {
132
  $detection = 3;
133
  $user_id = $user->ID;
134
  }
135
  //Check if we have an user object
136
- else if(is_object($mixed))
137
  {
138
  if (property_exists ($mixed, 'user_id') AND is_numeric ($mixed->user_id))
139
  {
@@ -143,13 +445,13 @@ function oa_social_login_custom_avatar ($avatar, $mixed, $size, $default, $alt =
143
  }
144
 
145
  //User found?
146
- if ( ! empty ($user_id))
147
  {
148
  if (($user_thumbnail = get_user_meta ($user_id, 'oa_social_login_user_thumbnail', true)) !== false)
149
  {
150
  if (strlen (trim ($user_thumbnail)) > 0)
151
  {
152
- return '<img alt="'. oa_social_login_esc_attr($alt) .'" src="'.$user_thumbnail.'" data-social-login="wp-d'.$detection.'" class="avatar avatar-social-login avatar-'.$size.' photo" height="'.$size.'" width="'.$size.'" />';
153
  }
154
  }
155
  }
@@ -164,7 +466,7 @@ add_filter ('get_avatar', 'oa_social_login_custom_avatar', 10, 5);
164
  /**
165
  * Show Social Login below "you must be logged in ..."
166
  */
167
- function oa_social_login_filter_comment_form_defaults($default_fields)
168
  {
169
  //No need to go further if comments disabled or user loggedin
170
  if (is_array ($default_fields) AND comments_open () AND !is_user_logged_in ())
@@ -173,18 +475,18 @@ function oa_social_login_filter_comment_form_defaults($default_fields)
173
  $settings = get_option ('oa_social_login_settings');
174
 
175
  //Display buttons if option not set or disabled
176
- if ( ! empty($settings['plugin_comment_show_if_members_only']))
177
  {
178
- if ( ! isset ($default_fields['must_log_in']))
179
  {
180
- $default_fields['must_log_in'] = '';
181
  }
182
- $default_fields['must_log_in'] .= oa_social_login_render_login_form ('comments');
183
  }
184
  }
185
  return $default_fields;
186
  }
187
- add_filter('comment_form_defaults', 'oa_social_login_filter_comment_form_defaults');
188
 
189
 
190
  /**
@@ -199,7 +501,7 @@ function oa_social_login_render_login_form_comments ()
199
  $settings = get_option ('oa_social_login_settings');
200
 
201
  //Display buttons if option not set or not disabled
202
- if (!isset ($settings ['plugin_comment_show']) OR ! empty ($settings ['plugin_comment_show']))
203
  {
204
  echo oa_social_login_render_login_form ('comments');
205
  }
@@ -224,15 +526,18 @@ function oa_social_login_render_login_form_registration ()
224
  $settings = get_option ('oa_social_login_settings');
225
 
226
  //Display buttons if option not set or enabled
227
- if (!isset ($settings ['plugin_display_in_registration_form']) OR ! empty ($settings ['plugin_display_in_registration_form']))
228
  {
229
  echo oa_social_login_render_login_form ('registration');
230
  }
231
  }
232
  }
233
- //WordPress Registration
234
  add_action ('register_form', 'oa_social_login_render_login_form_registration');
235
 
 
 
 
236
  //BuddyPress Registration
237
  add_action ('bp_before_account_details_fields', 'oa_social_login_render_login_form_registration');
238
 
@@ -257,10 +562,10 @@ add_action ('login_form', 'oa_social_login_render_login_form_login');
257
  //WordPress Profile Builder
258
  add_action ('wppb_before_login', 'oa_social_login_render_login_form_login');
259
 
260
- //BuddyPress Sidebar
261
  add_action ('bp_before_sidebar_login_form', 'oa_social_login_render_login_form_login');
262
-
263
- //Appthemes Vantage Theme
264
  add_action ('va_after_admin_bar_login_form', 'oa_social_login_render_login_form_login');
265
 
266
 
@@ -291,7 +596,7 @@ add_filter ('oa_social_login_custom', 'oa_social_login_filter_login_form_custom'
291
  /**
292
  * Display the provider grid
293
  */
294
- function oa_social_login_render_login_form ($source, $args = array())
295
  {
296
  //Import providers
297
  GLOBAL $oa_social_login_providers;
@@ -341,7 +646,7 @@ function oa_social_login_render_login_form ($source, $args = array())
341
  $css_theme_uri = ((array_key_exists ('widget_use_small_buttons', $widget_settings) AND !empty ($widget_settings ['widget_use_small_buttons'])) ? $css_theme_uri_small : $css_theme_uri_default);
342
 
343
  //Custom CSS
344
- $css_theme_uri = apply_filters('oa_social_login_widget_css', $css_theme_uri);
345
  }
346
  //Other places
347
  else
@@ -353,14 +658,14 @@ function oa_social_login_render_login_form ($source, $args = array())
353
  $css_theme_uri = (!empty ($settings ['plugin_use_small_buttons']) ? $css_theme_uri_small : $css_theme_uri_default);
354
 
355
  //Custom CSS
356
- $css_theme_uri = apply_filters('oa_social_login_default_css', $css_theme_uri);
357
  }
358
 
359
 
360
  //No providers selected
361
  if (count ($providers) == 0)
362
  {
363
- $output = '<div style="color:white;background-color:red;">[Social Login] '.__ ('Please enable at least one social network!', 'oa_social_login').'</div>';
364
  }
365
  //Providers selected
366
  else
@@ -388,7 +693,7 @@ function oa_social_login_render_login_form ($source, $args = array())
388
  $output [] = ' "css_theme_uri": "' . $css_theme_uri . '" ';
389
  $output [] = ' });';
390
  $output [] = ' </script>';
391
- $output [] = ' <!-- OneAll.com / Social Login for WordPress / v'.constant('OA_SOCIAL_LOGIN_VERSION').' -->';
392
  $output [] = '</div>';
393
 
394
  //Done
@@ -401,24 +706,23 @@ function oa_social_login_render_login_form ($source, $args = array())
401
  }
402
 
403
 
404
-
405
  /**
406
  * Request email from user
407
  */
408
- function oa_social_login_request_email()
409
  {
410
  //Get the current user
411
- $current_user = wp_get_current_user();
412
 
413
  //Check if logged in
414
- if ( ! empty ($current_user->ID) AND is_numeric ($current_user->ID))
415
  {
416
  //Current user
417
  $user_id = $current_user->ID;
418
 
419
  //Check if email has to be requested
420
- $oa_social_login_request_email = get_user_meta($user_id, 'oa_social_login_request_email', true);
421
- if ( ! empty ($oa_social_login_request_email))
422
  {
423
  //Display modal dialog?
424
  $display_modal = true;
@@ -427,28 +731,28 @@ function oa_social_login_request_email()
427
  $message = '';
428
 
429
  //Form submitted
430
- if ( isset ($_POST) AND ! empty ($_POST['oa_social_login_action']) AND $_POST['oa_social_login_action'] == 'confirm_email')
431
  {
432
- $user_email = (empty ($_POST['oa_social_login_email']) ? '' : trim ($_POST['oa_social_login_email']));
433
  if (empty ($user_email))
434
  {
435
- $message = __('Please enter your email address','oa_social_login');
436
  }
437
  else
438
  {
439
  if (!is_email ($user_email))
440
  {
441
- $message = __('This email is not valid','oa_social_login');
442
  }
443
  elseif (email_exists ($user_email))
444
  {
445
 
446
- $message = __('This email is already used by another account','oa_social_login');
447
  }
448
  else
449
  {
450
- wp_update_user(array ('ID' => $user_id, 'user_email' => $user_email));
451
- delete_user_meta($user_id, 'oa_social_login_request_email');
452
  $display_modal = false;
453
  }
454
  }
@@ -461,13 +765,13 @@ function oa_social_login_request_email()
461
  $oa_social_login_settings = get_option ('oa_social_login_settings');
462
 
463
  //Read the social network
464
- $oa_social_login_identity_provider = get_user_meta($user_id, 'oa_social_login_identity_provider', true);
465
 
466
  //Caption
467
- $caption = (isset ($oa_social_login_settings['plugin_require_email_text']) ? $oa_social_login_settings['plugin_require_email_text'] : __('<strong>We unfortunately could not retrieve your email address from %s.</strong> Please enter your email address in the form below in order to continue.', 'oa_social_login'));
468
 
469
  //Add CSS
470
- oa_social_login_add_site_css();
471
 
472
  //Show email request form
473
  ?>
@@ -476,16 +780,18 @@ function oa_social_login_request_email()
476
  <div class="oa_social_login_modal_outer">
477
  <div class="oa_social_login_modal_inner">
478
  <div class="oa_social_login_modal_title">
479
- <?php printf (__ ('You have successfully connected with %s!', 'oa_social_login'), '<strong>'.$oa_social_login_identity_provider.'</strong>'); ?>
 
 
480
  </div>
481
  <?php
482
- if (strlen (trim ($caption)) > 0)
483
- {
484
- ?>
485
  <div class="oa_social_login_modal_notice"><?php echo str_replace ('%s', $oa_social_login_identity_provider, $caption); ?></div>
486
  <?php
487
- }
488
- ?>
489
  <div class="oa_social_login_modal_body">
490
  <div class="oa_social_login_modal_subtitle">
491
  <?php _e ('Your email address', 'oa_social_login'); ?>:
@@ -493,11 +799,11 @@ function oa_social_login_request_email()
493
  <form method="post" action="">
494
  <fieldset>
495
  <div>
496
- <input type="text" name="oa_social_login_email" class="inputtxt" value="<?php echo ( ! empty ($_POST['oa_social_login_email']) ? oa_social_login_esc_attr($_POST['oa_social_login_email']) : ''); ?>" />
497
  <input type="hidden" name="oa_social_login_action" value="confirm_email" size="30" />
498
  </div>
499
  <div class="oa_social_login_modal_error">
500
- <?php echo $message; ?>
501
  </div>
502
  <div class="oa_social_login_modal_button">
503
  <input type="submit" value="<?php _e ('Confirm my email address', 'oa_social_login'); ?>" class="inputbutton" />
@@ -513,5 +819,5 @@ function oa_social_login_request_email()
513
  }
514
  }
515
  }
516
- add_action('wp_footer', 'oa_social_login_request_email');
517
- add_action('admin_footer', 'oa_social_login_request_email');
1
  <?php
2
 
3
+ /**
4
+ * Include the Social Library
5
+ */
6
+ function oa_social_login_add_javascripts ()
7
+ {
8
+ if (!wp_script_is ('oa_social_library', 'registered'))
9
+ {
10
+ //Read settings
11
+ $settings = get_option ('oa_social_login_settings');
12
+
13
+ if (!empty ($settings ['api_subdomain']))
14
+ {
15
+ //Include in header, without having the version appended
16
+ wp_register_script ('oa_social_library', ((oa_social_login_https_on () ? 'https' : 'http') . '://' . $settings ['api_subdomain'] . '.api.oneall.com/socialize/library.js'), array (), null, false);
17
+ }
18
+ }
19
+ wp_print_scripts ('oa_social_library');
20
+ }
21
+ //This is for Social Login
22
+ add_action ('login_head', 'oa_social_login_add_javascripts');
23
+ add_action ('wp_head', 'oa_social_login_add_javascripts');
24
+
25
+ //This is for Social Link
26
+ add_action ('show_user_profile', 'oa_social_login_add_javascripts');
27
+
28
+
29
+ /**
30
+ * Add Social Link to the user profile
31
+ */
32
+ function oa_social_login_add_social_link ($user)
33
+ {
34
+ if (!empty ($user->data->ID))
35
+ {
36
+ //Only show if the user is viewing his own profile
37
+ if ($user->data->ID == get_current_user_id ())
38
+ {
39
+ //Identifier of the current user
40
+ $userid = $user->data->ID;
41
+
42
+ //Read settings
43
+ $settings = get_option ('oa_social_login_settings');
44
+
45
+ //Is Social Link enabled?
46
+ if (!isset ($settings ['plugin_profile_show']) OR !empty ($settings ['plugin_profile_show']))
47
+ {
48
+ //Import providers
49
+ GLOBAL $oa_social_login_providers;
50
+
51
+ //Parse API Settings
52
+ $api_connection_handler = ((!empty ($settings ['api_connection_handler']) AND $settings ['api_connection_handler'] == 'fsockopen') ? 'fsockopen' : 'curl');
53
+ $api_connection_use_https = ((!isset ($settings ['api_connection_use_https']) OR $settings ['api_connection_use_https'] == '1') ? true : false);
54
+ $api_subdomain = (!empty ($settings ['api_subdomain']) ? $settings ['api_subdomain'] : '');
55
+ $api_key = (!empty ($settings ['api_key']) ? $settings ['api_key'] : '');
56
+ $api_secret = (!empty ($settings ['api_secret']) ? $settings ['api_secret'] : '');
57
+
58
+ //Setup API Providers
59
+ $api_providers = array ();
60
+ if (is_array ($settings ['providers']))
61
+ {
62
+ foreach ($settings ['providers'] AS $settings_provider_key => $settings_provider_name)
63
+ {
64
+ if (isset ($oa_social_login_providers [$settings_provider_key]))
65
+ {
66
+ $api_providers [] = $settings_provider_key;
67
+ }
68
+ }
69
+ }
70
+
71
+ //The Subdomain is required
72
+ if (!empty ($api_subdomain))
73
+ {
74
+ //No providers selected
75
+ if (count ($api_providers) == 0)
76
+ {
77
+ $output = '<div style="color:white;background-color:red;">[Social Login] ' . __ ('Please enable at least one social network!', 'oa_social_login') . '</div>';
78
+ }
79
+ //Providers selected
80
+ else
81
+ {
82
+ //Error Message
83
+ $error_message = '';
84
+ $success_message = '';
85
+
86
+ //Callback Handler
87
+ if (isset ($_POST) AND !empty ($_POST ['oa_action']) AND $_POST ['oa_action'] == 'social_link' AND !empty ($_POST ['connection_token']))
88
+ {
89
+ //More info here: https://docs.oneall.com/api/resources/connections/read-connection-details/
90
+ $api_resource_url = ($api_connection_use_https ? 'https' : 'http') . '://' . $api_subdomain . '.api.oneall.com/connections/' . $_POST ['connection_token'] . '.json';
91
+
92
+ //Get connection details
93
+ $result = oa_social_login_do_api_request ($api_connection_handler, $api_resource_url, array (
94
+ 'api_key' => $api_key,
95
+ 'api_secret' => $api_secret
96
+ ), 15);
97
+
98
+ //Parse result
99
+ if (is_object ($result) AND property_exists ($result, 'http_code') AND property_exists ($result, 'http_data') AND $result->http_code == 200)
100
+ {
101
+ //Decode
102
+ $json_decoded = json_decode ($result->http_data);
103
+
104
+ //User Data
105
+ if (is_object ($json_decoded) AND property_exists ($json_decoded, 'response'))
106
+ {
107
+ //Extract data
108
+ $data = $json_decoded->response->result->data;
109
+
110
+ //Check for plugin status
111
+ if (is_object ($data) AND property_exists ($data, 'plugin') AND $data->plugin->key == 'social_link' AND $data->plugin->data->status == 'success')
112
+ {
113
+ //Get the id of the linked user - Can be empty
114
+ $userid_by_token = oa_social_login_get_userid_by_token ($data->user->user_token);
115
+
116
+ //Link identity
117
+ if ($data->plugin->data->action == 'link_identity')
118
+ {
119
+ // The user already has a user_token
120
+ if (is_numeric ($userid_by_token))
121
+ {
122
+ //Already connected to this user
123
+ if ($userid_by_token == $userid)
124
+ {
125
+ $success_message = sprintf (__ ('You have successfully linked your %s account.', 'oa_social_login'), $data->user->identity->source->name);
126
+
127
+ //Read provider list
128
+ $meta_identity_providers = trim (strval (get_user_meta ($userid, 'oa_social_login_identity_provider', true)));
129
+ $meta_identity_providers = explode ("|", $meta_identity_providers);
130
+
131
+ //Update new provider list
132
+ $identity_providers = array (
133
+ trim ($data->user->identity->source->name)
134
+ );
135
+ foreach ($meta_identity_providers AS $meta_identity_provider)
136
+ {
137
+ if (strlen (trim ($meta_identity_provider)) > 0)
138
+ {
139
+ $identity_providers [] = trim ($meta_identity_provider);
140
+ }
141
+ }
142
+
143
+ //First Provider
144
+ if (count ($identity_providers) == 1)
145
+ {
146
+ update_user_meta ($userid, 'oa_social_login_identity_provider', array_shift ($identity_providers));
147
+ }
148
+ //Multiple Providers
149
+ else
150
+ {
151
+ update_user_meta ($userid, 'oa_social_login_identity_provider', implode ("|", $identity_providers));
152
+ }
153
+ }
154
+ //Connected to a different user
155
+ else
156
+ {
157
+ $error_message = sprintf (__ ('This %s account is already used by another user of this website.', 'oa_social_login'), $data->user->identity->source->name);
158
+ }
159
+ }
160
+ // The user does not have a user_token yet
161
+ else
162
+ {
163
+ $success_message = sprintf (__ ('You have successfully linked your %s account.', 'oa_social_login'), $data->user->identity->source->name);
164
+
165
+ //Clean Cache
166
+ wp_cache_delete ($userid, 'users');
167
+
168
+ //User Meta Data
169
+ update_user_meta ($userid, 'oa_social_login_user_token', $data->user->user_token);
170
+ update_user_meta ($userid, 'oa_social_login_identity_provider', $data->user->identity->source->name);
171
+
172
+ //Thumbnail
173
+ if (!empty ($data->user->identity->thumbnailUrl))
174
+ {
175
+ update_user_meta ($userid, 'oa_social_login_user_thumbnail', $data->user->identity->thumbnailUrl);
176
+ }
177
+ }
178
+ }
179
+ //UnLink identity
180
+ elseif ($data->plugin->data->action == 'unlink_identity')
181
+ {
182
+ // The user already has a user_token
183
+ if (is_numeric ($userid_by_token))
184
+ {
185
+ //Was connected to this user
186
+ if ($userid_by_token == $userid)
187
+ {
188
+ $success_message = sprintf (__ ('You have successfully unlinked your %s account.', 'oa_social_login'), $data->user->identity->source->name);
189
+
190
+ //Read provider list
191
+ $meta_identity_providers = trim (strval (get_user_meta ($userid, 'oa_social_login_identity_provider', true)));
192
+ $meta_identity_providers = explode ("|", $meta_identity_providers);
193
+
194
+ //Update new provider list
195
+ $identity_providers = array ();
196
+ $discard_existing_identity_provider = true;
197
+ foreach ($meta_identity_providers AS $meta_identity_provider)
198
+ {
199
+ if (strlen (trim ($meta_identity_provider)) > 0)
200
+ {
201
+ $meta_identity_provider = trim ($meta_identity_provider);
202
+
203
+ //Different from the one that has been unlinked
204
+ if ($meta_identity_provider <> $data->user->identity->source->name)
205
+ {
206
+ $identity_providers [] = $meta_identity_provider;
207
+ }
208
+ //The same as the one that has been unlinked
209
+ else
210
+ {
211
+ //Only discard the first
212
+ if ($discard_existing_identity_provider)
213
+ {
214
+ $discard_existing_identity_provider = false;
215
+ }
216
+ //Keep the others
217
+ else
218
+ {
219
+ $identity_providers [] = $meta_identity_provider;
220
+ }
221
+ }
222
+ }
223
+ }
224
+
225
+ //One provider linked
226
+ if (count ($identity_providers) == 1)
227
+ {
228
+ update_user_meta ($userid, 'oa_social_login_identity_provider', array_shift ($identity_providers));
229
+ }
230
+ //Zero, two or more
231
+ else
232
+ {
233
+ //No providers linked
234
+ if (count ($identity_providers) == 0)
235
+ {
236
+ $error_message = __ ("You might no longer be able to login to this website if you don't link at least one social network.", 'oa_social_login');
237
+ update_user_meta ($userid, 'oa_social_login_identity_provider', '');
238
+ }
239
+ else
240
+ {
241
+ update_user_meta ($userid, 'oa_social_login_identity_provider', implode ("|", $identity_providers));
242
+ }
243
+ }
244
+ }
245
+ //Connected to a different user
246
+ else
247
+ {
248
+ $error_message = sprintf (__ ('This %s account is already used by another user of this website.', 'oa_social_login'), $data->user->identity->source->name);
249
+ }
250
+ }
251
+ // The user does not have a user_token yet
252
+ else
253
+ {
254
+ //Nothing to do
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+ }
261
+
262
+ //OneAll user_token
263
+ $token = strval (oa_social_login_get_token_by_userid ($userid));
264
+
265
+ //Random integer
266
+ $rand = mt_rand (99999, 9999999);
267
+
268
+ //Callback URI
269
+ $callback_uri = oa_social_login_get_current_url () . '?oa_social_login_source=profile#oa_social_link';
270
+
271
+ //Setup output
272
+ $output = array ();
273
+ $output [] = '<div class="oneall_social_link">';
274
+ $output [] = ' <div class="oneall_social_login_providers" id="oneall_social_login_providers_' . $rand . '"></div>';
275
+ $output [] = ' <script type="text/javascript">';
276
+ $output [] = ' oneall.api.plugins.social_link.build("oneall_social_login_providers_' . $rand . '", {';
277
+ $output [] = ' "providers": ["' . implode ('","', $api_providers) . '"], ';
278
+ $output [] = ' "user_token": "' . $token . '", ';
279
+ $output [] = ' "callback_uri": "' . $callback_uri . '", ';
280
+ $output [] = ' });';
281
+ $output [] = ' </script>';
282
+ $output [] = '</div>';
283
+ $output = implode ("\n", $output);
284
+ }
285
+
286
+ //Display profile fields
287
+ ?>
288
+ <h3 id="oa_social_link"><?php _e ('Connect your account to one or more social networks', 'oa_social_login'); ?></h3>
289
+ <table class="form-table">
290
+ <?php
291
+ if (!empty ($success_message))
292
+ {
293
+ ?>
294
+ <tr>
295
+ <td colspan="2">
296
+ <span style="color:green;font-weight:bold"><?php echo $success_message; ?></span>
297
+ </td>
298
+ </tr>
299
+ <?php
300
+ }
301
+
302
+ if (!empty ($error_message))
303
+ {
304
+ ?>
305
+ <tr>
306
+ <td colspan="2">
307
+ <span style="color:red;font-weight:bold"><?php echo $error_message; ?></span>
308
+ </td>
309
+ </tr>
310
+ <?php
311
+ }
312
+ ?>
313
+ <tr>
314
+ <th><label for="oa_social_login_networks"><?php _e ('Social Networks', 'oa_social_login'); ?></label></th>
315
+ <td><?php echo $output; ?></td>
316
+ </tr>
317
+ </table>
318
+ <?php
319
+ }
320
+ }
321
+ }
322
+ }
323
  }
324
+ add_action ('show_user_profile', 'oa_social_login_add_social_link');
 
325
 
326
 
327
  /**
337
  /**
338
  * Hook to display custom avatars (Buddypress specific)
339
  */
340
+ function oa_social_login_bp_custom_fetch_avatar ($text, $args)
341
  {
342
  //The social login settings
343
  static $oa_social_login_settings = null;
353
  if (is_array ($args))
354
  {
355
  //User Object
356
+ if (!empty ($args ['object']) AND strtolower ($args ['object']) == 'user')
357
  {
358
  //User Identifier
359
+ if (!empty ($args ['item_id']) AND is_numeric ($args ['item_id']))
360
  {
361
  //Retrieve user
362
+ if (($user_data = get_userdata ($args ['item_id'])) !== false)
363
  {
364
  //Retrieve Avatar
365
+ if (($user_thumbnail = get_user_meta ($args ['item_id'], 'oa_social_login_user_thumbnail', true)) !== false)
366
  {
367
  //Thumbnail retrieved
368
  if (strlen (trim ($user_thumbnail)) > 0)
369
  {
370
  //Build Image tags
371
+ $img_alt = (!empty ($args ['alt']) ? 'alt="' . oa_social_login_esc_attr ($args ['alt']) . '" ' : '');
372
+ $img_alt = sprintf ($img_alt, htmlspecialchars ($user_data->user_login));
373
 
374
+ $img_class = ('class="' . (!empty ($args ['class']) ? ($args ['class'] . ' ') : '') . 'avatar-social-login" ');
375
+ $img_width = (!empty ($args ['width']) ? 'width="' . $args ['width'] . '" ' : '');
376
+ $img_height = (!empty ($args ['height']) ? 'height="' . $args ['height'] . '" ' : '');
377
 
378
  //Replace
379
+ $text = preg_replace ('#<img[^>]+>#i', '<img data-social-login="bp-d1" src="' . $user_thumbnail . '" ' . $img_alt . $img_class . $img_height . $img_width . '/>', $text);
380
  }
381
  }
382
  }
386
  }
387
  return $text;
388
  }
389
+ add_filter ('bp_core_fetch_avatar', 'oa_social_login_bp_custom_fetch_avatar', 10, 2);
390
 
391
 
392
  /**
420
  $user_id = $comment->user_id;
421
  }
422
  //Check if we have an user identifier
423
+ elseif (is_numeric ($mixed))
424
  {
425
  if ($mixed > 0)
426
  {
429
  }
430
  }
431
  //Check if we have an email
432
+ elseif (is_string ($mixed) && ($user = get_user_by ('email', $mixed)))
433
  {
434
  $detection = 3;
435
  $user_id = $user->ID;
436
  }
437
  //Check if we have an user object
438
+ else if (is_object ($mixed))
439
  {
440
  if (property_exists ($mixed, 'user_id') AND is_numeric ($mixed->user_id))
441
  {
445
  }
446
 
447
  //User found?
448
+ if (!empty ($user_id))
449
  {
450
  if (($user_thumbnail = get_user_meta ($user_id, 'oa_social_login_user_thumbnail', true)) !== false)
451
  {
452
  if (strlen (trim ($user_thumbnail)) > 0)
453
  {
454
+ return '<img alt="' . oa_social_login_esc_attr ($alt) . '" src="' . $user_thumbnail . '" data-social-login="wp-d' . $detection . '" class="avatar avatar-social-login avatar-' . $size . ' photo" height="' . $size . '" width="' . $size . '" />';
455
  }
456
  }
457
  }
466
  /**
467
  * Show Social Login below "you must be logged in ..."
468
  */
469
+ function oa_social_login_filter_comment_form_defaults ($default_fields)
470
  {
471
  //No need to go further if comments disabled or user loggedin
472
  if (is_array ($default_fields) AND comments_open () AND !is_user_logged_in ())
475
  $settings = get_option ('oa_social_login_settings');
476
 
477
  //Display buttons if option not set or disabled
478
+ if (!empty ($settings ['plugin_comment_show_if_members_only']))
479
  {
480
+ if (!isset ($default_fields ['must_log_in']))
481
  {
482
+ $default_fields ['must_log_in'] = '';
483
  }
484
+ $default_fields ['must_log_in'] .= oa_social_login_render_login_form ('comments');
485
  }
486
  }
487
  return $default_fields;
488
  }
489
+ add_filter ('comment_form_defaults', 'oa_social_login_filter_comment_form_defaults');
490
 
491
 
492
  /**
501
  $settings = get_option ('oa_social_login_settings');
502
 
503
  //Display buttons if option not set or not disabled
504
+ if (!isset ($settings ['plugin_comment_show']) OR !empty ($settings ['plugin_comment_show']))
505
  {
506
  echo oa_social_login_render_login_form ('comments');
507
  }
526
  $settings = get_option ('oa_social_login_settings');
527
 
528
  //Display buttons if option not set or enabled
529
+ if (!isset ($settings ['plugin_display_in_registration_form']) OR !empty ($settings ['plugin_display_in_registration_form']))
530
  {
531
  echo oa_social_login_render_login_form ('registration');
532
  }
533
  }
534
  }
535
+ //WordPress Registration Form
536
  add_action ('register_form', 'oa_social_login_render_login_form_registration');
537
 
538
+ //WordPress Signup Form
539
+ add_action( 'after_signup_form', 'oa_social_login_render_login_form_registration');
540
+
541
  //BuddyPress Registration
542
  add_action ('bp_before_account_details_fields', 'oa_social_login_render_login_form_registration');
543
 
562
  //WordPress Profile Builder
563
  add_action ('wppb_before_login', 'oa_social_login_render_login_form_login');
564
 
565
+ //BuddyPress Sidebar
566
  add_action ('bp_before_sidebar_login_form', 'oa_social_login_render_login_form_login');
567
+
568
+ //Appthemes Vantage Theme
569
  add_action ('va_after_admin_bar_login_form', 'oa_social_login_render_login_form_login');
570
 
571
 
596
  /**
597
  * Display the provider grid
598
  */
599
+ function oa_social_login_render_login_form ($source, $args = array ())
600
  {
601
  //Import providers
602
  GLOBAL $oa_social_login_providers;
646
  $css_theme_uri = ((array_key_exists ('widget_use_small_buttons', $widget_settings) AND !empty ($widget_settings ['widget_use_small_buttons'])) ? $css_theme_uri_small : $css_theme_uri_default);
647
 
648
  //Custom CSS
649
+ $css_theme_uri = apply_filters ('oa_social_login_widget_css', $css_theme_uri);
650
  }
651
  //Other places
652
  else
658
  $css_theme_uri = (!empty ($settings ['plugin_use_small_buttons']) ? $css_theme_uri_small : $css_theme_uri_default);
659
 
660
  //Custom CSS
661
+ $css_theme_uri = apply_filters ('oa_social_login_default_css', $css_theme_uri);
662
  }
663
 
664
 
665
  //No providers selected
666
  if (count ($providers) == 0)
667
  {
668
+ $output = '<div style="color:white;background-color:red;">[Social Login] ' . __ ('Please enable at least one social network!', 'oa_social_login') . '</div>';
669
  }
670
  //Providers selected
671
  else
693
  $output [] = ' "css_theme_uri": "' . $css_theme_uri . '" ';
694
  $output [] = ' });';
695
  $output [] = ' </script>';
696
+ $output [] = ' <!-- OneAll.com / Social Login for WordPress / v' . constant ('OA_SOCIAL_LOGIN_VERSION') . ' -->';
697
  $output [] = '</div>';
698
 
699
  //Done
706
  }
707
 
708
 
 
709
  /**
710
  * Request email from user
711
  */
712
+ function oa_social_login_request_email ()
713
  {
714
  //Get the current user
715
+ $current_user = wp_get_current_user ();
716
 
717
  //Check if logged in
718
+ if (!empty ($current_user->ID) AND is_numeric ($current_user->ID))
719
  {
720
  //Current user
721
  $user_id = $current_user->ID;
722
 
723
  //Check if email has to be requested
724
+ $oa_social_login_request_email = get_user_meta ($user_id, 'oa_social_login_request_email', true);
725
+ if (!empty ($oa_social_login_request_email))
726
  {
727
  //Display modal dialog?
728
  $display_modal = true;
731
  $message = '';
732
 
733
  //Form submitted
734
+ if (isset ($_POST) AND !empty ($_POST ['oa_social_login_action']) AND $_POST ['oa_social_login_action'] == 'confirm_email')
735
  {
736
+ $user_email = (empty ($_POST ['oa_social_login_email']) ? '' : trim ($_POST ['oa_social_login_email']));
737
  if (empty ($user_email))
738
  {
739
+ $message = __ ('Please enter your email address', 'oa_social_login');
740
  }
741
  else
742
  {
743
  if (!is_email ($user_email))
744
  {
745
+ $message = __ ('This email is not valid', 'oa_social_login');
746
  }
747
  elseif (email_exists ($user_email))
748
  {
749
 
750
+ $message = __ ('This email is already used by another account', 'oa_social_login');
751
  }
752
  else
753
  {
754
+ wp_update_user (array ('ID' => $user_id, 'user_email' => $user_email));
755
+ delete_user_meta ($user_id, 'oa_social_login_request_email');
756
  $display_modal = false;
757
  }
758
  }
765
  $oa_social_login_settings = get_option ('oa_social_login_settings');
766
 
767
  //Read the social network
768
+ $oa_social_login_identity_provider = get_user_meta ($user_id, 'oa_social_login_identity_provider', true);
769
 
770
  //Caption
771
+ $caption = (isset ($oa_social_login_settings ['plugin_require_email_text']) ? $oa_social_login_settings ['plugin_require_email_text'] : __ ('<strong>We unfortunately could not retrieve your email address from %s.</strong> Please enter your email address in the form below in order to continue.', 'oa_social_login'));
772
 
773
  //Add CSS
774
+ oa_social_login_add_site_css ();
775
 
776
  //Show email request form
777
  ?>
780
  <div class="oa_social_login_modal_outer">
781
  <div class="oa_social_login_modal_inner">
782
  <div class="oa_social_login_modal_title">
783
+ <?php
784
+ printf (__ ('You have successfully connected with %s!', 'oa_social_login'), '<strong>' . $oa_social_login_identity_provider . '</strong>');
785
+ ?>
786
  </div>
787
  <?php
788
+ if (strlen (trim ($caption)) > 0)
789
+ {
790
+ ?>
791
  <div class="oa_social_login_modal_notice"><?php echo str_replace ('%s', $oa_social_login_identity_provider, $caption); ?></div>
792
  <?php
793
+ }
794
+ ?>
795
  <div class="oa_social_login_modal_body">
796
  <div class="oa_social_login_modal_subtitle">
797
  <?php _e ('Your email address', 'oa_social_login'); ?>:
799
  <form method="post" action="">
800
  <fieldset>
801
  <div>
802
+ <input type="text" name="oa_social_login_email" class="inputtxt" value="<?php echo (!empty ($_POST ['oa_social_login_email']) ? oa_social_login_esc_attr ($_POST ['oa_social_login_email']) : ''); ?>" />
803
  <input type="hidden" name="oa_social_login_action" value="confirm_email" size="30" />
804
  </div>
805
  <div class="oa_social_login_modal_error">
806
+ <?php echo $message; ?>
807
  </div>
808
  <div class="oa_social_login_modal_button">
809
  <input type="submit" value="<?php _e ('Confirm my email address', 'oa_social_login'); ?>" class="inputbutton" />
819
  }
820
  }
821
  }
822
+ add_action ('wp_footer', 'oa_social_login_request_email');
823
+ add_action ('admin_footer', 'oa_social_login_request_email');
includes/widget.php CHANGED
@@ -11,47 +11,47 @@ class oa_social_login_widget extends WP_Widget
11
  public function __construct ()
12
  {
13
  parent::WP_Widget ('oa_social_login', 'Social Login', array (
14
- 'description' => __('Allow your visitors to login and register with social networks like Twitter, Facebook, LinkedIn, Hyves, Google and Yahoo.', 'oa_social_login')
15
  ));
16
  }
17
-
18
  /**
19
  * Display the widget
20
  */
21
  public function widget ($args, $instance)
22
  {
23
  //Hide the widget for logged in users?
24
- if (empty ($instance ['widget_hide_for_logged_in_users']) OR ! is_user_logged_in ())
25
  {
26
  //Before Widget
27
  echo $args ['before_widget'];
28
-
29
  //Title
30
- if ( !empty ($instance ['widget_title']))
31
  {
32
  echo $args ['before_title'] . apply_filters ('widget_title', $instance ['widget_title']) . $args ['after_title'];
33
  }
34
-
35
  //Before Content
36
- if ( !empty ($instance ['widget_content_before']))
37
  {
38
  echo $instance ['widget_content_before'];
39
  }
40
-
41
  //Content
42
  echo oa_social_login_render_login_form ('widget', $instance);
43
-
44
  //After Content
45
- if ( !empty ($instance ['widget_content_after']))
46
  {
47
  echo $instance ['widget_content_after'];
48
  }
49
-
50
  //After Widget
51
  echo $args ['after_widget'];
52
  }
53
  }
54
-
55
  /**
56
  * Show Widget Settings
57
  */
@@ -59,20 +59,20 @@ class oa_social_login_widget extends WP_Widget
59
  {
60
  //Default settings
61
  $default_settings = array (
62
- 'widget_title' => __('Connect with', 'oa_social_login').':',
63
  'widget_content_before' => '',
64
  'widget_content_after' => '',
65
  'widget_use_small_buttons' => '0',
66
  'widget_hide_for_logged_in_users' => '1'
67
  );
68
-
69
  foreach ($instance as $key => $value)
70
  {
71
  $instance [$key] = oa_social_login_esc_attr ($value);
72
  }
73
-
74
  $instance = wp_parse_args ((array) $instance, $default_settings);
75
- ?>
76
  <p>
77
  <label for="<?php echo $this->get_field_id ('widget_title'); ?>"><?php _e ('Title', 'oa_social_login'); ?>:</label>
78
  <input class="widefat" id="<?php echo $this->get_field_id ('widget_title'); ?>" name="<?php echo $this->get_field_name ('widget_title'); ?>" type="text" value="<?php echo $instance ['widget_title']; ?>" />
@@ -86,30 +86,30 @@ class oa_social_login_widget extends WP_Widget
86
  <textarea class="widefat" id="<?php echo $this->get_field_id ('widget_content_after'); ?>" name="<?php echo $this->get_field_name ('widget_content_after'); ?>"><?php echo $instance ['widget_content_after']; ?></textarea>
87
  </p>
88
  <p>
89
- <input type="checkbox" id="<?php echo $this->get_field_id ('widget_hide_for_logged_in_users', 'oa_social_login'); ?>" name="<?php echo $this->get_field_name ('widget_hide_for_logged_in_users'); ?>" type="text" value="1" <?php echo ( ! empty ($instance ['widget_hide_for_logged_in_users']) ? 'checked="checked"' : ''); ?> />
90
  <label for="<?php echo $this->get_field_id ('widget_hide_for_logged_in_users'); ?>"><?php _e ('Tick to hide widget for logged-in users', 'oa_social_login'); ?></label>
91
  </p>
92
  <p>
93
- <input type="checkbox" id="<?php echo $this->get_field_id ('widget_use_small_buttons', 'oa_social_login'); ?>" name="<?php echo $this->get_field_name ('widget_use_small_buttons'); ?>" type="text" value="1" <?php echo ( ! empty ($instance ['widget_use_small_buttons']) ? 'checked="checked"' : ''); ?> />
94
  <label for="<?php echo $this->get_field_id ('widget_use_small_buttons'); ?>"><?php _e ('Tick to use small buttons', 'oa_social_login'); ?></label>
95
  </p>
96
  <?php
97
- }
98
-
99
-
100
- /**
101
- * Update Widget Settings
102
- */
103
- public function update ($new_instance, $old_instance)
104
- {
105
- $instance = $old_instance;
106
- $instance ['widget_title'] = trim(strip_tags ($new_instance ['widget_title']));
107
- $instance ['widget_content_before'] = trim($new_instance ['widget_content_before']);
108
- $instance ['widget_content_after'] = trim($new_instance ['widget_content_after']);
109
- $instance ['widget_hide_for_logged_in_users'] = (empty($new_instance ['widget_hide_for_logged_in_users']) ? 0 : 1);
110
- $instance ['widget_use_small_buttons'] = (empty($new_instance ['widget_use_small_buttons']) ? 0 : 1);
111
- return $instance;
112
- }
113
- }
114
-
115
- add_action ('widgets_init', create_function ('', 'return register_widget( "oa_social_login_widget" );'));
11
  public function __construct ()
12
  {
13
  parent::WP_Widget ('oa_social_login', 'Social Login', array (
14
+ 'description' => __ ('Allow your visitors to login and register with social networks like Twitter, Facebook, LinkedIn, Hyves, Google and Yahoo.', 'oa_social_login')
15
  ));
16
  }
17
+
18
  /**
19
  * Display the widget
20
  */
21
  public function widget ($args, $instance)
22
  {
23
  //Hide the widget for logged in users?
24
+ if (empty ($instance ['widget_hide_for_logged_in_users']) OR !is_user_logged_in ())
25
  {
26
  //Before Widget
27
  echo $args ['before_widget'];
28
+
29
  //Title
30
+ if (!empty ($instance ['widget_title']))
31
  {
32
  echo $args ['before_title'] . apply_filters ('widget_title', $instance ['widget_title']) . $args ['after_title'];
33
  }
34
+
35
  //Before Content
36
+ if (!empty ($instance ['widget_content_before']))
37
  {
38
  echo $instance ['widget_content_before'];
39
  }
40
+
41
  //Content
42
  echo oa_social_login_render_login_form ('widget', $instance);
43
+
44
  //After Content
45
+ if (!empty ($instance ['widget_content_after']))
46
  {
47
  echo $instance ['widget_content_after'];
48
  }
49
+
50
  //After Widget
51
  echo $args ['after_widget'];
52
  }
53
  }
54
+
55
  /**
56
  * Show Widget Settings
57
  */
59
  {
60
  //Default settings
61
  $default_settings = array (
62
+ 'widget_title' => __ ('Connect with', 'oa_social_login') . ':',
63
  'widget_content_before' => '',
64
  'widget_content_after' => '',
65
  'widget_use_small_buttons' => '0',
66
  'widget_hide_for_logged_in_users' => '1'
67
  );
68
+
69
  foreach ($instance as $key => $value)
70
  {
71
  $instance [$key] = oa_social_login_esc_attr ($value);
72
  }
73
+
74
  $instance = wp_parse_args ((array) $instance, $default_settings);
75
+ ?>
76
  <p>
77
  <label for="<?php echo $this->get_field_id ('widget_title'); ?>"><?php _e ('Title', 'oa_social_login'); ?>:</label>
78
  <input class="widefat" id="<?php echo $this->get_field_id ('widget_title'); ?>" name="<?php echo $this->get_field_name ('widget_title'); ?>" type="text" value="<?php echo $instance ['widget_title']; ?>" />
86
  <textarea class="widefat" id="<?php echo $this->get_field_id ('widget_content_after'); ?>" name="<?php echo $this->get_field_name ('widget_content_after'); ?>"><?php echo $instance ['widget_content_after']; ?></textarea>
87
  </p>
88
  <p>
89
+ <input type="checkbox" id="<?php echo $this->get_field_id ('widget_hide_for_logged_in_users', 'oa_social_login'); ?>" name="<?php echo $this->get_field_name ('widget_hide_for_logged_in_users'); ?>" type="text" value="1" <?php echo (!empty ($instance ['widget_hide_for_logged_in_users']) ? 'checked="checked"' : ''); ?> />
90
  <label for="<?php echo $this->get_field_id ('widget_hide_for_logged_in_users'); ?>"><?php _e ('Tick to hide widget for logged-in users', 'oa_social_login'); ?></label>
91
  </p>
92
  <p>
93
+ <input type="checkbox" id="<?php echo $this->get_field_id ('widget_use_small_buttons', 'oa_social_login'); ?>" name="<?php echo $this->get_field_name ('widget_use_small_buttons'); ?>" type="text" value="1" <?php echo (!empty ($instance ['widget_use_small_buttons']) ? 'checked="checked"' : ''); ?> />
94
  <label for="<?php echo $this->get_field_id ('widget_use_small_buttons'); ?>"><?php _e ('Tick to use small buttons', 'oa_social_login'); ?></label>
95
  </p>
96
  <?php
97
+ }
98
+
99
+
100
+ /**
101
+ * Update Widget Settings
102
+ */
103
+ public function update ($new_instance, $old_instance)
104
+ {
105
+ $instance = $old_instance;
106
+ $instance ['widget_title'] = trim (strip_tags ($new_instance ['widget_title']));
107
+ $instance ['widget_content_before'] = trim ($new_instance ['widget_content_before']);
108
+ $instance ['widget_content_after'] = trim ($new_instance ['widget_content_after']);
109
+ $instance ['widget_hide_for_logged_in_users'] = (empty ($new_instance ['widget_hide_for_logged_in_users']) ? 0 : 1);
110
+ $instance ['widget_use_small_buttons'] = (empty ($new_instance ['widget_use_small_buttons']) ? 0 : 1);
111
+ return $instance;
112
+ }
113
+ }
114
+
115
+ add_action ('widgets_init', create_function ('', 'return register_widget( "oa_social_login_widget" );'));
languages/oa_social_login-de_DE.mo CHANGED
Binary file
languages/oa_social_login-de_DE.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Social Login\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2012-10-15 14:52+0100\n"
6
- "PO-Revision-Date: 2012-10-15 14:53+0100\n"
7
  "Last-Translator: Claude Schlesser <cschlesser@oneall.com>\n"
8
  "Language-Team: \n"
9
  "Language: \n"
@@ -19,15 +19,15 @@ msgstr ""
19
  #: oa-social-login.php:24
20
  #, php-format
21
  msgid "This plugin requires WordPress %s or newer. Please update your WordPress installation to activate this plugin."
22
- msgstr "Dieses Plugin benötigt Wordpress %s oder höher. Bitte aktualisieren Sie Ihr Wordpress bevor Sie das Plugin installieren"
23
 
24
  #: oa-social-login.php:46
25
- #: includes/admin.php:58
26
- #: includes/admin.php:765
27
  msgid "Settings"
28
  msgstr "Einstellungen"
29
 
30
- #: includes/communication.php:209
31
  msgid "This Social Network account may not be used to register"
32
  msgstr "Dieses Konto kann nicht zur Anmeldung genutzt werden"
33
 
@@ -35,515 +35,566 @@ msgstr "Dieses Konto kann nicht zur Anmeldung genutzt werden"
35
  msgid "Registration"
36
  msgstr "Registriert mit"
37
 
38
- #: includes/admin.php:38
39
  msgid "Registration Form"
40
  msgstr "Anmeldeformular"
41
 
42
- #: includes/admin.php:54
43
- #: includes/admin.php:65
44
- #: includes/admin.php:547
45
  msgid "Setup"
46
  msgstr "Einrichten"
47
 
48
- #: includes/admin.php:111
49
  msgid "Thank you for using the Social Login Plugin!"
50
  msgstr "Danke, dass Sie Social Login installiert haben!"
51
 
52
- #: includes/admin.php:111
53
  #, php-format
54
  msgid "Please go to the <strong><a href=\"%s\">Social Login\\Setup</a></strong> page to setup the plugin."
55
  msgstr "Bitte rufen Sie die Seite <strong><a href=\"%s\">Einstellungen\\Social Login</a></strong> auf, um das Plugin zu konfigurieren."
56
 
57
- #: includes/admin.php:285
58
  msgid "Contacting API - please wait this may take a few minutes ..."
59
  msgstr "Teste Einstellungen - Dies kann einige Minutern dauern ..."
60
 
61
- #: includes/admin.php:286
62
  msgid "The settings are correct - do not forget to save your changes!"
63
  msgstr "Die Einstellungen sind korrekt! Vergessen Sie nicht abzuspeichern!"
64
 
65
- #: includes/admin.php:287
66
  msgid "Please fill out each of the fields above."
67
- msgstr "Bitte füllen Sie alle Felder aus"
68
 
69
- #: includes/admin.php:288
70
  msgid "The subdomain does not exist. Have you filled it out correctly?"
71
  msgstr "Subdomain wurde nicht gefunden. Haben Sie sie richtig ausgefüllt?"
72
 
73
- #: includes/admin.php:289
74
  msgid "The subdomain has a wrong syntax!"
75
- msgstr "Die Subdomain ist ungültig"
76
 
77
- #: includes/admin.php:290
78
  msgid "Could not contact API. Are outbound requests on port 443 allowed?"
79
  msgstr "Keine Verbindung zur API. Eventuell blockiert Ihre Firewall Anfragen auf Port 443."
80
 
81
- #: includes/admin.php:291
82
  msgid "The API subdomain is correct, but one or both keys are invalid"
83
  msgstr "Die API-Subdomain ist korrekt, aber die Schlüssel stimmen nicht."
84
 
85
- #: includes/admin.php:292
86
  msgid "Connection handler does not work, try using the Autodetection"
87
  msgstr "Verbindungsfehler! Bitte nutzen Sie die automatische Erkennung"
88
 
89
- #: includes/admin.php:293
90
  msgid "Detected CURL on Port 443 - do not forget to save your changes!"
91
  msgstr "PHP CURL auf Port 443 gefunden! Vergessen Sie nicht abzuspeichern!"
92
 
93
- #: includes/admin.php:294
94
  msgid "Detected CURL on Port 80 - do not forget to save your changes!"
95
  msgstr "PHP CURL auf Port 80 gefunden! Vergessen Sie nicht abzuspeichern!"
96
 
97
- #: includes/admin.php:295
98
  msgid "Detected FSOCKOPEN on Port 443 - do not forget to save your changes!"
99
  msgstr "PHP FSOCKOPEN auf Port 443 gefunden! Vergessen Sie nicht abzuspeichern!"
100
 
101
- #: includes/admin.php:296
102
  msgid "Detected FSOCKOPEN on Port 80 - do not forget to save your changes!"
103
  msgstr "PHP FSOCKOPEN auf Port 80 gefunden! Vergessen Sie nicht abzuspeichern!"
104
 
105
- #: includes/admin.php:297
106
  #, php-format
107
  msgid "Autodetection Error - our <a href=\"%s\" target=\"_blank\">documentation</a> helps you fix this issue."
108
  msgstr "Verbindungsfehler - in unserer <a href=\"%s\" target=\"_blank\">Dokumentation</a> finden Sie die Lösung."
109
 
110
- #: includes/admin.php:554
111
  msgid "Allow your visitors to comment, login and register with 20+ Social Networks like for example Twitter, Facebook, LinkedIn, Hyves, VKontakte, Google or Yahoo."
112
  msgstr "Erlauben Sie Ihren Besuchern, sich mit 20+ Sozialen Netzwerk wie z.B. Twitter, Facebook, LinkedIn, Hyves, VKontakte, Google oder Yahoo anzumelden, und Kommentare zu hinterlassen."
113
 
114
- #: includes/admin.php:555
115
  msgid "Draw a larger audience and increase your user engagement in a few simple steps."
116
  msgstr "Steigern Sie die Beteilung Ihrer Nutzer auf einfachste Art und Weise."
117
 
118
- #: includes/admin.php:559
119
  msgid "Get Started!"
120
  msgstr "Los gehts!"
121
 
122
- #: includes/admin.php:562
123
  #, php-format
124
  msgid "To be able to use this plugin you first of all need to create a free account at %s and setup a Site."
125
  msgstr "Um dieses Plugin nutzen zu können, müssen Sie sich zunächst kostenlos ein Konto bei %s anmelden."
126
 
127
- #: includes/admin.php:563
128
  msgid "After having created your account and setup your Site, please enter the Site settings in the form below."
129
- msgstr "Nachdem Sie Ihr Konto angemeldet haben, müssen Sie die API-Daten in nachfolgendes Formular eintragen."
130
 
131
- #: includes/admin.php:564
132
  msgid "Don't worry the setup takes only a couple of minutes!"
133
  msgstr "Keine Sorge! Die Einrichtung dauert nur wenige Minuten."
134
 
135
- #: includes/admin.php:567
136
  msgid "Click here to setup your free account"
137
  msgstr "Kostenloses Konto anmelden"
138
 
139
- #: includes/admin.php:570
140
  #, php-format
141
  msgid "You are in good company! This plugin is used on more than %s websites!"
142
- msgstr "Mehr als %s Webseiten nutzen dieses Plugin. Seien Sie dabei!"
143
 
144
- #: includes/admin.php:580
145
  msgid "Your API Account is setup correctly"
146
  msgstr "Die API-Daten sind korrekt"
147
 
148
- #: includes/admin.php:583
149
  msgid "Login to your account to manage your providers and access your Social Insights."
150
  msgstr "Loggen Sie sich in Ihr Konto ein, um Einstellungen vorzunehmen und Statistiken einzusehen."
151
 
152
- #: includes/admin.php:584
153
  msgid "Determine which social networks are popular amongst your users and tailor your registration experience to increase your users' engagement."
154
  msgstr "Finden Sie heraus, welche sozialen Netzwerke unter Ihren Besuchern beliebt sind, und steigern Sie die Beteilung Ihrer Besucher."
155
 
156
- #: includes/admin.php:587
157
  msgid "Click here to login to your account"
158
  msgstr "Klicken Sie hier, um sich in Ihr Konto einloggen"
159
 
160
- #: includes/admin.php:595
161
  msgid "Help, Updates &amp; Documentation"
162
  msgstr "Hilfe, Updates &amp; Dokumentation"
163
 
164
- #: includes/admin.php:598
165
  #, php-format
166
  msgid "<a target=\"_blank\" href=\"%s\">Follow us on Twitter</a> to stay informed about updates"
167
  msgstr "<a target=\"_blank\" href=\"%s\">Folgen Sie uns auf Twitter</a>, um auf dem Laufenden zu bleiben"
168
 
169
- #: includes/admin.php:599
170
  #, php-format
171
  msgid "<a target=\"_blank\" href=\"%s\">Read the online documentation</a> for more information about this plugin"
172
  msgstr "<a target=\"_blank\" href=\"%s\">Lesen Sie unsere Dokumentation</a> für zusätzliche Information"
173
 
174
- #: includes/admin.php:600
175
  #, php-format
176
  msgid "<a target=\"_blank\" href=\"%s\">Contact us</a> if you have feedback or need assistance"
177
  msgstr "<a target=\"_blank\" href=\"%s\">Schreiben Sie uns</a>, falls Sie Hilfe benötigen"
178
 
179
- #: includes/admin.php:601
180
  #, php-format
181
  msgid "We also have turnkey plugins for <a target=\"_blank\" href=\"%s\">Drupal, phpBB and Joomla</a> amongst others"
182
  msgstr "Wir bieten auch Module für <a target=\"_blank\" href=\"%s\">Drupal, phpBB und Joomla</a> an"
183
 
184
- #: includes/admin.php:610
185
- #: includes/admin.php:788
186
  msgid "Your modifications have been saved successfully!"
187
  msgstr "Ihre Einstellungen wurden erfolgreich gespeichert!"
188
 
189
- #: includes/admin.php:622
190
- #: includes/admin.php:630
191
  msgid "API Connection Handler"
192
  msgstr "API Kommunikation"
193
 
194
- #: includes/admin.php:634
195
  msgid "Use PHP CURL to communicate with the API"
196
  msgstr "PHP CURL verwenden"
197
 
198
- #: includes/admin.php:634
199
- #: includes/admin.php:654
200
- #: includes/admin.php:817
201
  #: includes/admin.php:830
202
- #: includes/admin.php:841
203
- #: includes/admin.php:860
204
- #: includes/admin.php:874
205
- #: includes/admin.php:887
206
- #: includes/admin.php:905
207
- #: includes/admin.php:918
208
- #: includes/admin.php:931
209
- #: includes/admin.php:950
210
- #: includes/admin.php:962
211
- #: includes/admin.php:983
212
- #: includes/admin.php:996
213
- #: includes/admin.php:1016
214
- #: includes/admin.php:1031
 
 
215
  msgid "Default"
216
  msgstr "Standard"
217
 
218
- #: includes/admin.php:635
219
  msgid "Using CURL is recommended but it might be disabled on some servers."
220
  msgstr "Empfohlene Einstellung, auf manchen Serven aber deaktiviert."
221
 
222
- #: includes/admin.php:641
223
  msgid "Use PHP FSOCKOPEN to communicate with the API"
224
  msgstr "PHP FSOCKOPEN verwenden"
225
 
226
- #: includes/admin.php:642
227
  msgid "Try using FSOCKOPEN if you encounter any problems with CURL."
228
  msgstr "Verwenden Sie FSOCKEN wenn Probleme mit CURL auftreten sollten."
229
 
230
- #: includes/admin.php:650
231
  msgid "API Connection Port"
232
  msgstr "API Verbindungs Port"
233
 
234
- #: includes/admin.php:654
235
  msgid "Communication via HTTPS on port 443"
236
  msgstr "Verbindung auf HTTPS Port 443"
237
 
238
- #: includes/admin.php:655
239
  msgid "Using port 443 is secure but you might need OpenSSL"
240
  msgstr "Die Verbindung auf Port 443 ist sicherer benötigt aber ggfs. OpenSSL"
241
 
242
- #: includes/admin.php:661
243
  msgid "Communication via HTTP on port 80"
244
  msgstr "Verbindung auf HTTP Port 80"
245
 
246
- #: includes/admin.php:662
247
  msgid "Using port 80 is a bit faster, doesn't need OpenSSL but is less secure"
248
  msgstr "Die Verbindung auf Port 80 ist etwas schneller aber nicht ganz so sicher"
249
 
250
- #: includes/admin.php:667
251
  msgid "Autodetect API Connection"
252
  msgstr "Automatisch erkennen"
253
 
254
- #: includes/admin.php:677
255
  msgid "API Settings"
256
  msgstr "API Einstellungen"
257
 
258
- #: includes/admin.php:680
259
  msgid "Click here to create and view your API Credentials"
260
  msgstr "Klicken Sie hier, um Ihre API-Daten einzusehen"
261
 
262
- #: includes/admin.php:686
263
  msgid "API Subdomain"
264
  msgstr "API Subdomain"
265
 
266
- #: includes/admin.php:694
267
  msgid "API Public Key"
268
  msgstr "API Public Key"
269
 
270
- #: includes/admin.php:702
271
  msgid "API Private Key"
272
  msgstr "API Private Key"
273
 
274
- #: includes/admin.php:710
275
  msgid "Verify API Settings"
276
  msgstr "API-Einstellungen überprüfen"
277
 
278
- #: includes/admin.php:720
279
  msgid "Enable the social networks/identity providers of your choice"
280
  msgstr "Wählen Sie die sozialen Netzwerke aus:"
281
 
282
- #: includes/admin.php:736
283
  #, php-format
284
  msgid "To enable cyrillic usernames, you might need <a target=\"_blank\" href=\"%s\">this plugin</a>"
285
  msgstr "Um kyrillische Zeichen zu verwenden, brauchen Sie <a target=\"_blank\" href=\"%s\">dieses Plugin</a>"
286
 
287
- #: includes/admin.php:747
288
- #: includes/admin.php:1041
289
  msgid "Save Changes"
290
  msgstr "Einstellungen speichern"
291
 
292
- #: includes/admin.php:774
293
  msgid "Logout to see the plugin in action!"
294
  msgstr "Sie müssen ausloggen, um das Plugin testen zu können."
295
 
296
- #: includes/admin.php:778
297
  msgid "Social Login is a plugin that allows your users to comment, login and register with their existing Social Network accounts. If a user is already logged in, the plugin will not be displayed. There is no need to give the user the possibility to connect with a social network if he is already connected."
298
  msgstr "Social Login erlaubt es Ihren Benutzern, sich mit dem Konto eines sozialen Netzwerks anzumelden. Bei Benutzern die bereits eingeloggt sind wird das Plugin nicht angezeigt, da der Benutzer bereits angemeldet ist, und keine weitere Anmeldenmöglichkeit benötigt. "
299
 
300
- #: includes/admin.php:780
301
  msgid "You therefore have to logout to see the plugin in action."
302
  msgstr "Sie müssen Sich aus diesem Grund ausloggen, um das Plugin testen zu können."
303
 
304
- #: includes/admin.php:796
305
  msgid "General Settings"
306
  msgstr "Allgemeine Einstellungen"
307
 
308
- #: includes/admin.php:801
309
  msgid "Enter the description to be displayed above the Social Login buttons (leave empty for none):"
310
  msgstr "Welcher Text soll über den Icons der sozialen Netzwerke angezeigt werden (ggf. leer lassen) ?"
311
 
312
- #: includes/admin.php:806
313
  msgid "Connect with:"
314
  msgstr "Einloggen mit:"
315
 
316
- #: includes/admin.php:811
317
  msgid "Do you want to use the default or the small social network buttons?"
318
  msgstr "Wollen Sie die standard -oder kleinere Icons für soziale Netzwerke verwenden?"
319
 
320
- #: includes/admin.php:817
321
  #, php-format
322
  msgid "Use the default social network buttons (%s)"
323
  msgstr "Standard-Icons verwenden (%s)"
324
 
325
- #: includes/admin.php:818
326
  #, php-format
327
  msgid "Use the small social network buttons (%s)"
328
  msgstr "Kleine Icons verwenden (%s)"
329
 
330
- #: includes/admin.php:823
331
  msgid "Do you want to display the social networks used to connect in the user list of the administration area ?"
332
  msgstr "Sollen die verwendeten sozialen Netzwerke in der Benutzerliste angezeigt werden?"
333
 
334
- #: includes/admin.php:829
335
  msgid "Yes, add a new column to the user list and display the social network that the user connected with"
336
  msgstr "Ja, eine weitere Spalte in der Benutzerliste anzeigen"
337
 
338
- #: includes/admin.php:830
339
  msgid "No, no not display the social networks in the user list"
340
  msgstr "Nein, soziale Netzwerke nicht anzeigen"
341
 
342
- #: includes/admin.php:835
343
  msgid "Do you want to receive an email whenever a new user registers with Social Login ?"
344
  msgstr "Wollen Sie per Email benachrichtigt werden, sobald ein Benutzer sich mit Social Login anmeldet?"
345
 
346
- #: includes/admin.php:841
347
  msgid "Yes, send me an email whenever a new user registers with Social Login"
348
  msgstr "Ja, ich möchte eine Email erhalten, wenn jemand sich mit Social Login anmeldet"
349
 
350
- #: includes/admin.php:842
351
  msgid "No, do not send me any emails"
352
  msgstr "Nein, keine Benachrichtigung per Email versenden"
353
 
354
- #: includes/admin.php:849
355
  msgid "User Settings"
356
  msgstr "Benutzer Einstellungen"
357
 
358
- #: includes/admin.php:854
359
  msgid "If the user's social network profile has no email address, should we ask the user to enter it manually?"
360
  msgstr "Müssen Benutzer Ihre Email Address manuell eingeben falls sie nicht im Sozialen Profil vorhanden ist?"
361
 
362
- #: includes/admin.php:860
363
  msgid "No, simplify the registration by automatically creating a placeholder email"
364
  msgstr "Nein, in diesem Fall eine Platzhalter-Email anlegen (vereinfach die Registrierung)"
365
 
366
- #: includes/admin.php:861
367
  msgid "Yes, require the user to enter his email address manually and display this message:"
368
  msgstr "Ja, Benutzer mit folgendem Text auffordern, ihre Email-Adresse einzugeben:"
369
 
370
- #: includes/admin.php:862
371
- #: includes/user_interface.php:467
372
  #, php-format
373
  msgid "<strong>We unfortunately could not retrieve your email address from %s.</strong> Please enter your email address in the form below in order to continue."
374
  msgstr "<strong>Wir konnten Ihre E-Mail-Adresse leider nicht über Ihr %s Konto ermitteln.</strong> Bitte geben Sie Ihre Email-Adresse nachfolgend an."
375
 
376
- #: includes/admin.php:863
377
  #, php-format
378
  msgid "HTML is allowed, the placeholder %s is replaced by the name of the social network used to connect."
379
  msgstr "HTML ist erlaubt, der Platzhalter %s wird durch den Namen des sozialen Netzwerks ersetzt."
380
 
381
- #: includes/admin.php:868
382
  msgid "If the user's social network profile has a verified email, should we try to link it to an existing account?"
383
  msgstr "Sollen soziale Profile mit überprüfter Email mit vorhandenen Blog-Nutzern verknüpft werden?"
384
 
385
- #: includes/admin.php:874
386
  msgid "Yes, try to link verified social network profiles to existing blog accounts"
387
  msgstr "Ja, verknüpfe soziale Profile gegebenenfalls mit vorhanden Nutzern"
388
 
389
- #: includes/admin.php:875
390
  msgid "No, disable account linking"
391
  msgstr "Nein, keine Verknüpfung"
392
 
393
- #: includes/admin.php:880
394
  msgid "If the user's social network profile has an avatar, should we show it as the default avatar for the user?"
395
  msgstr "Wollen Sie die Nutzer-Avatare der sozialen Netwerke gegebenenfalls verwenden?"
396
 
397
- #: includes/admin.php:886
398
  msgid "Yes, show user avatars from social networks if available"
399
  msgstr "Ja, zeige den sozialen Avatar des Benutzer in den Kommentaren dieses Benutzers an"
400
 
401
- #: includes/admin.php:887
402
  msgid "No, display the default avatars"
403
  msgstr "Nein, zeige die Standard-Avatare"
404
 
405
- #: includes/admin.php:894
406
  msgid "Comment Settings"
407
  msgstr "Einstellungen: Kommentare"
408
 
409
- #: includes/admin.php:899
410
  msgid "Show the Social Login buttons in the comment area?"
411
  msgstr "Das Plugin über dem Kommentare-Formular anzeigen?"
412
 
413
- #: includes/admin.php:905
414
- #: includes/admin.php:918
415
  msgid "Yes, show the Social Login buttons"
416
  msgstr "Ja, zeige das Plugin an"
417
 
418
- #: includes/admin.php:906
419
- #: includes/admin.php:919
420
  msgid "No, do not show the Social Login buttons"
421
  msgstr "Nein, Plugin nicht anzeigen"
422
 
423
- #: includes/admin.php:911
424
  msgid "Show the Social Login buttons in the comment area if comments are disabled for guests?"
425
  msgstr "Login mit einem sozialen Netzwerk anbieten falls Kommentare für Gäste deaktiviert sind?"
426
 
427
- #: includes/admin.php:917
428
  msgid "The buttons will be displayed below the \"You must be logged in to leave a comment\" notice."
429
  msgstr "Die Icons werden unter \"Du musst angemeldet sein, um einen Kommentar abzugeben\" angezeigt."
430
 
431
- #: includes/admin.php:924
432
  msgid "Automatically approve comments left by users that connected by using Social Login?"
433
  msgstr "Kommentare automatisch freischalten, falls dessen Autor sich mit SocialLogin eingeloggt hat?"
434
 
435
- #: includes/admin.php:930
436
  msgid "Yes, automatically approve comments made by users that connected with Social Login"
437
  msgstr "Ja, Kommentare automatisch freischalten"
438
 
439
- #: includes/admin.php:931
440
  msgid "No, do not automatically approve"
441
  msgstr "Nein, Kommentare nicht automatisch freischalten"
442
 
443
- #: includes/admin.php:939
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
444
  msgid "Login Page Settings"
445
  msgstr "Einstellungen: Login-Seite"
446
 
447
- #: includes/admin.php:944
448
  msgid "Do you want to display Social Login on the login form of your blog?"
449
  msgstr "Das Plugin auf der Login-Seite Ihres Blogs anzeigen?"
450
 
451
- #: includes/admin.php:950
452
  msgid "Yes, display the social network buttons below the login form"
453
  msgstr "Ja, die Icons der sozialen Netzwerke auf der Login-Seite anzeigen"
454
 
455
- #: includes/admin.php:951
456
  msgid "No, disable social network buttons in the login form"
457
  msgstr "Nein, keine Icons auf der Login-Seite anzeigen"
458
 
459
- #: includes/admin.php:956
460
  msgid "Where should users be redirected to after having logged in with Social Login on the login page?"
461
  msgstr "Wohin sollen Nutzer weitergeleitet werden, nachdem Sie sich Social Login auf der Login-Seite eingeloggt haben?"
462
 
463
- #: includes/admin.php:962
464
- #: includes/admin.php:995
465
- #: includes/admin.php:1017
466
- #: includes/admin.php:1032
467
  msgid "Redirect users to the homepage of my blog"
468
  msgstr "Weiterleitung zur Hauptseite meines Blogs"
469
 
470
- #: includes/admin.php:963
471
- #: includes/admin.php:996
472
- #: includes/admin.php:1018
473
- #: includes/admin.php:1033
474
  msgid "Redirect users to their account dashboard"
475
  msgstr "Weiterleitung zur Profilseite des Nutzers"
476
 
477
- #: includes/admin.php:964
478
- #: includes/admin.php:997
479
- #: includes/admin.php:1019
480
- #: includes/admin.php:1034
481
  msgid "Redirect users to the following url"
482
  msgstr "Weiterleitung zu dieser URL"
483
 
484
- #: includes/admin.php:972
485
  msgid "Registration Page Settings"
486
  msgstr "Einstellungen: Anmelden-Seite"
487
 
488
- #: includes/admin.php:977
489
  msgid "Do you want to display Social Login on the registration form of your blog?"
490
  msgstr "Das Plugin auf der Anmelden-Seite Ihres Blogs anzeigen?"
491
 
492
- #: includes/admin.php:983
493
  msgid "Yes, display the social network buttons below the registration form"
494
  msgstr "Ja, die Icons der sozialen Netzwerke auf der Anmelden-Seite anzeigen"
495
 
496
- #: includes/admin.php:984
497
  msgid "No, disable social network buttons in the registration form"
498
  msgstr "Nein, keine Icons auf der Anmelden-Seite anzeigen"
499
 
500
- #: includes/admin.php:989
501
  msgid "Where should users be redirected to after having registered with Social Login on the registration page?"
502
  msgstr "Wohin sollen Nutzer weitergeleitet werden, nachdem sie ein Konto mit einem sozialen Netzwerk angelegt haben?"
503
 
504
- #: includes/admin.php:1005
505
  msgid "Widget &amp; Shortcode Settings"
506
  msgstr "Widget &amp; Shortcode Einstellungen"
507
 
508
- #: includes/admin.php:1010
509
  msgid "Redirect users to this page after they have logged in with Social Login embedded by Widget/Shortcode:"
510
  msgstr "Benutzer zu dieser Seite weiterleiten nachdem sie im Social Login Widget/Shortcode eingloggt haben:"
511
 
512
- #: includes/admin.php:1016
513
- #: includes/admin.php:1031
514
  msgid "Redirect users back to the current page"
515
  msgstr "Weiterleitung zurück zur aktuellen Seite"
516
 
517
- #: includes/admin.php:1025
518
  msgid "Redirect users to this page after they have registered with Social Login embedded by Widget/Shortcode:"
519
  msgstr "Benutzer zu dieser Seite weiterleiten nachdem sie über das Social Login Widget/Shortcode registriert haben:"
520
 
521
- #: includes/user_interface.php:363
 
522
  msgid "Please enable at least one social network!"
523
  msgstr "Bitte aktivieren Sie mindestens ein soziales Netzwerk!"
524
 
525
- #: includes/user_interface.php:435
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
526
  msgid "Please enter your email address"
527
  msgstr "Bitte geben Sie Ihre E-Mail-Adresse ein"
528
 
529
- #: includes/user_interface.php:441
530
  msgid "This email is not valid"
531
  msgstr "Diese E-Mail-Adresse ist ungültig"
532
 
533
- #: includes/user_interface.php:446
534
  msgid "This email is already used by another account"
535
  msgstr "Diese E-Mail-Adresse wird bereits verwendet"
536
 
537
- #: includes/user_interface.php:479
538
  #, php-format
539
  msgid "You have successfully connected with %s!"
540
  msgstr "Sie haben Sich erfolgreicht mit %s angemeldet!"
541
 
542
- #: includes/user_interface.php:491
543
  msgid "Your email address"
544
  msgstr "Ihre E-Mail-Adresse"
545
 
546
- #: includes/user_interface.php:503
547
  msgid "Confirm my email address"
548
  msgstr "Bitte bestätigen Sie Ihre E-Mail-Adresse"
549
 
@@ -575,22 +626,22 @@ msgstr "Widget verstecken bei eingeloggten Nutzern"
575
  msgid "Tick to use small buttons"
576
  msgstr "Kleine Icons verwenden"
577
 
578
- #: includes/toolbox.php:84
579
  #, php-format
580
  msgid "New user registration on your site %s:"
581
  msgstr "Neue Benutzeranmeldung auf Ihrer Seite %s:"
582
 
583
- #: includes/toolbox.php:85
584
  #, php-format
585
  msgid "Username: %s"
586
  msgstr "Benutzername: %s"
587
 
588
- #: includes/toolbox.php:86
589
  #, php-format
590
  msgid "Social Network: %s"
591
  msgstr "Soziales Netzwerk: %s"
592
 
593
- #: includes/toolbox.php:88
594
  #, php-format
595
  msgid "[%s] New User Registration"
596
  msgstr "[%s] Neue Benutzeranmeldung"
2
  msgstr ""
3
  "Project-Id-Version: Social Login\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-12-17 15:33+0100\n"
6
+ "PO-Revision-Date: 2012-12-17 15:34+0100\n"
7
  "Last-Translator: Claude Schlesser <cschlesser@oneall.com>\n"
8
  "Language-Team: \n"
9
  "Language: \n"
19
  #: oa-social-login.php:24
20
  #, php-format
21
  msgid "This plugin requires WordPress %s or newer. Please update your WordPress installation to activate this plugin."
22
+ msgstr "Dieses Plugin benötigt Wordpress %s oder höher. Bitte aktualisieren Sie Ihr WordPress um dieses Plugin zu nutzen."
23
 
24
  #: oa-social-login.php:46
25
+ #: includes/admin.php:59
26
+ #: includes/admin.php:776
27
  msgid "Settings"
28
  msgstr "Einstellungen"
29
 
30
+ #: includes/communication.php:186
31
  msgid "This Social Network account may not be used to register"
32
  msgstr "Dieses Konto kann nicht zur Anmeldung genutzt werden"
33
 
35
  msgid "Registration"
36
  msgstr "Registriert mit"
37
 
38
+ #: includes/admin.php:39
39
  msgid "Registration Form"
40
  msgstr "Anmeldeformular"
41
 
42
+ #: includes/admin.php:55
43
+ #: includes/admin.php:66
44
+ #: includes/admin.php:560
45
  msgid "Setup"
46
  msgstr "Einrichten"
47
 
48
+ #: includes/admin.php:112
49
  msgid "Thank you for using the Social Login Plugin!"
50
  msgstr "Danke, dass Sie Social Login installiert haben!"
51
 
52
+ #: includes/admin.php:112
53
  #, php-format
54
  msgid "Please go to the <strong><a href=\"%s\">Social Login\\Setup</a></strong> page to setup the plugin."
55
  msgstr "Bitte rufen Sie die Seite <strong><a href=\"%s\">Einstellungen\\Social Login</a></strong> auf, um das Plugin zu konfigurieren."
56
 
57
+ #: includes/admin.php:289
58
  msgid "Contacting API - please wait this may take a few minutes ..."
59
  msgstr "Teste Einstellungen - Dies kann einige Minutern dauern ..."
60
 
61
+ #: includes/admin.php:290
62
  msgid "The settings are correct - do not forget to save your changes!"
63
  msgstr "Die Einstellungen sind korrekt! Vergessen Sie nicht abzuspeichern!"
64
 
65
+ #: includes/admin.php:291
66
  msgid "Please fill out each of the fields above."
67
+ msgstr "Bitte füllen Sie alle Felder aus."
68
 
69
+ #: includes/admin.php:292
70
  msgid "The subdomain does not exist. Have you filled it out correctly?"
71
  msgstr "Subdomain wurde nicht gefunden. Haben Sie sie richtig ausgefüllt?"
72
 
73
+ #: includes/admin.php:293
74
  msgid "The subdomain has a wrong syntax!"
75
+ msgstr "Die Subdomain ist ungültig!"
76
 
77
+ #: includes/admin.php:294
78
  msgid "Could not contact API. Are outbound requests on port 443 allowed?"
79
  msgstr "Keine Verbindung zur API. Eventuell blockiert Ihre Firewall Anfragen auf Port 443."
80
 
81
+ #: includes/admin.php:295
82
  msgid "The API subdomain is correct, but one or both keys are invalid"
83
  msgstr "Die API-Subdomain ist korrekt, aber die Schlüssel stimmen nicht."
84
 
85
+ #: includes/admin.php:296
86
  msgid "Connection handler does not work, try using the Autodetection"
87
  msgstr "Verbindungsfehler! Bitte nutzen Sie die automatische Erkennung"
88
 
89
+ #: includes/admin.php:297
90
  msgid "Detected CURL on Port 443 - do not forget to save your changes!"
91
  msgstr "PHP CURL auf Port 443 gefunden! Vergessen Sie nicht abzuspeichern!"
92
 
93
+ #: includes/admin.php:298
94
  msgid "Detected CURL on Port 80 - do not forget to save your changes!"
95
  msgstr "PHP CURL auf Port 80 gefunden! Vergessen Sie nicht abzuspeichern!"
96
 
97
+ #: includes/admin.php:299
98
  msgid "Detected FSOCKOPEN on Port 443 - do not forget to save your changes!"
99
  msgstr "PHP FSOCKOPEN auf Port 443 gefunden! Vergessen Sie nicht abzuspeichern!"
100
 
101
+ #: includes/admin.php:300
102
  msgid "Detected FSOCKOPEN on Port 80 - do not forget to save your changes!"
103
  msgstr "PHP FSOCKOPEN auf Port 80 gefunden! Vergessen Sie nicht abzuspeichern!"
104
 
105
+ #: includes/admin.php:301
106
  #, php-format
107
  msgid "Autodetection Error - our <a href=\"%s\" target=\"_blank\">documentation</a> helps you fix this issue."
108
  msgstr "Verbindungsfehler - in unserer <a href=\"%s\" target=\"_blank\">Dokumentation</a> finden Sie die Lösung."
109
 
110
+ #: includes/admin.php:567
111
  msgid "Allow your visitors to comment, login and register with 20+ Social Networks like for example Twitter, Facebook, LinkedIn, Hyves, VKontakte, Google or Yahoo."
112
  msgstr "Erlauben Sie Ihren Besuchern, sich mit 20+ Sozialen Netzwerk wie z.B. Twitter, Facebook, LinkedIn, Hyves, VKontakte, Google oder Yahoo anzumelden, und Kommentare zu hinterlassen."
113
 
114
+ #: includes/admin.php:568
115
  msgid "Draw a larger audience and increase your user engagement in a few simple steps."
116
  msgstr "Steigern Sie die Beteilung Ihrer Nutzer auf einfachste Art und Weise."
117
 
118
+ #: includes/admin.php:572
119
  msgid "Get Started!"
120
  msgstr "Los gehts!"
121
 
122
+ #: includes/admin.php:575
123
  #, php-format
124
  msgid "To be able to use this plugin you first of all need to create a free account at %s and setup a Site."
125
  msgstr "Um dieses Plugin nutzen zu können, müssen Sie sich zunächst kostenlos ein Konto bei %s anmelden."
126
 
127
+ #: includes/admin.php:576
128
  msgid "After having created your account and setup your Site, please enter the Site settings in the form below."
129
+ msgstr "Nachdem Sie Ihr Konto angemeldet haben, müssen Sie die API-Daten in das nachfolgende Formular eintragen."
130
 
131
+ #: includes/admin.php:577
132
  msgid "Don't worry the setup takes only a couple of minutes!"
133
  msgstr "Keine Sorge! Die Einrichtung dauert nur wenige Minuten."
134
 
135
+ #: includes/admin.php:580
136
  msgid "Click here to setup your free account"
137
  msgstr "Kostenloses Konto anmelden"
138
 
139
+ #: includes/admin.php:583
140
  #, php-format
141
  msgid "You are in good company! This plugin is used on more than %s websites!"
142
+ msgstr "Mehr als %s Webseiten nutzen dieses Plugin. Seien Sie mit dabei!"
143
 
144
+ #: includes/admin.php:593
145
  msgid "Your API Account is setup correctly"
146
  msgstr "Die API-Daten sind korrekt"
147
 
148
+ #: includes/admin.php:596
149
  msgid "Login to your account to manage your providers and access your Social Insights."
150
  msgstr "Loggen Sie sich in Ihr Konto ein, um Einstellungen vorzunehmen und Statistiken einzusehen."
151
 
152
+ #: includes/admin.php:597
153
  msgid "Determine which social networks are popular amongst your users and tailor your registration experience to increase your users' engagement."
154
  msgstr "Finden Sie heraus, welche sozialen Netzwerke unter Ihren Besuchern beliebt sind, und steigern Sie die Beteilung Ihrer Besucher."
155
 
156
+ #: includes/admin.php:600
157
  msgid "Click here to login to your account"
158
  msgstr "Klicken Sie hier, um sich in Ihr Konto einloggen"
159
 
160
+ #: includes/admin.php:608
161
  msgid "Help, Updates &amp; Documentation"
162
  msgstr "Hilfe, Updates &amp; Dokumentation"
163
 
164
+ #: includes/admin.php:611
165
  #, php-format
166
  msgid "<a target=\"_blank\" href=\"%s\">Follow us on Twitter</a> to stay informed about updates"
167
  msgstr "<a target=\"_blank\" href=\"%s\">Folgen Sie uns auf Twitter</a>, um auf dem Laufenden zu bleiben"
168
 
169
+ #: includes/admin.php:612
170
  #, php-format
171
  msgid "<a target=\"_blank\" href=\"%s\">Read the online documentation</a> for more information about this plugin"
172
  msgstr "<a target=\"_blank\" href=\"%s\">Lesen Sie unsere Dokumentation</a> für zusätzliche Information"
173
 
174
+ #: includes/admin.php:613
175
  #, php-format
176
  msgid "<a target=\"_blank\" href=\"%s\">Contact us</a> if you have feedback or need assistance"
177
  msgstr "<a target=\"_blank\" href=\"%s\">Schreiben Sie uns</a>, falls Sie Hilfe benötigen"
178
 
179
+ #: includes/admin.php:614
180
  #, php-format
181
  msgid "We also have turnkey plugins for <a target=\"_blank\" href=\"%s\">Drupal, phpBB and Joomla</a> amongst others"
182
  msgstr "Wir bieten auch Module für <a target=\"_blank\" href=\"%s\">Drupal, phpBB und Joomla</a> an"
183
 
184
+ #: includes/admin.php:623
185
+ #: includes/admin.php:799
186
  msgid "Your modifications have been saved successfully!"
187
  msgstr "Ihre Einstellungen wurden erfolgreich gespeichert!"
188
 
189
+ #: includes/admin.php:635
190
+ #: includes/admin.php:643
191
  msgid "API Connection Handler"
192
  msgstr "API Kommunikation"
193
 
194
+ #: includes/admin.php:647
195
  msgid "Use PHP CURL to communicate with the API"
196
  msgstr "PHP CURL verwenden"
197
 
198
+ #: includes/admin.php:647
199
+ #: includes/admin.php:667
 
200
  #: includes/admin.php:830
201
+ #: includes/admin.php:845
202
+ #: includes/admin.php:858
203
+ #: includes/admin.php:879
204
+ #: includes/admin.php:895
205
+ #: includes/admin.php:910
206
+ #: includes/admin.php:930
207
+ #: includes/admin.php:945
208
+ #: includes/admin.php:960
209
+ #: includes/admin.php:981
210
+ #: includes/admin.php:1004
211
+ #: includes/admin.php:1018
212
+ #: includes/admin.php:1041
213
+ #: includes/admin.php:1056
214
+ #: includes/admin.php:1078
215
+ #: includes/admin.php:1095
216
  msgid "Default"
217
  msgstr "Standard"
218
 
219
+ #: includes/admin.php:648
220
  msgid "Using CURL is recommended but it might be disabled on some servers."
221
  msgstr "Empfohlene Einstellung, auf manchen Serven aber deaktiviert."
222
 
223
+ #: includes/admin.php:654
224
  msgid "Use PHP FSOCKOPEN to communicate with the API"
225
  msgstr "PHP FSOCKOPEN verwenden"
226
 
227
+ #: includes/admin.php:655
228
  msgid "Try using FSOCKOPEN if you encounter any problems with CURL."
229
  msgstr "Verwenden Sie FSOCKEN wenn Probleme mit CURL auftreten sollten."
230
 
231
+ #: includes/admin.php:663
232
  msgid "API Connection Port"
233
  msgstr "API Verbindungs Port"
234
 
235
+ #: includes/admin.php:667
236
  msgid "Communication via HTTPS on port 443"
237
  msgstr "Verbindung auf HTTPS Port 443"
238
 
239
+ #: includes/admin.php:668
240
  msgid "Using port 443 is secure but you might need OpenSSL"
241
  msgstr "Die Verbindung auf Port 443 ist sicherer benötigt aber ggfs. OpenSSL"
242
 
243
+ #: includes/admin.php:674
244
  msgid "Communication via HTTP on port 80"
245
  msgstr "Verbindung auf HTTP Port 80"
246
 
247
+ #: includes/admin.php:675
248
  msgid "Using port 80 is a bit faster, doesn't need OpenSSL but is less secure"
249
  msgstr "Die Verbindung auf Port 80 ist etwas schneller aber nicht ganz so sicher"
250
 
251
+ #: includes/admin.php:680
252
  msgid "Autodetect API Connection"
253
  msgstr "Automatisch erkennen"
254
 
255
+ #: includes/admin.php:690
256
  msgid "API Settings"
257
  msgstr "API Einstellungen"
258
 
259
+ #: includes/admin.php:692
260
  msgid "Click here to create and view your API Credentials"
261
  msgstr "Klicken Sie hier, um Ihre API-Daten einzusehen"
262
 
263
+ #: includes/admin.php:697
264
  msgid "API Subdomain"
265
  msgstr "API Subdomain"
266
 
267
+ #: includes/admin.php:705
268
  msgid "API Public Key"
269
  msgstr "API Public Key"
270
 
271
+ #: includes/admin.php:713
272
  msgid "API Private Key"
273
  msgstr "API Private Key"
274
 
275
+ #: includes/admin.php:721
276
  msgid "Verify API Settings"
277
  msgstr "API-Einstellungen überprüfen"
278
 
279
+ #: includes/admin.php:731
280
  msgid "Enable the social networks/identity providers of your choice"
281
  msgstr "Wählen Sie die sozialen Netzwerke aus:"
282
 
283
+ #: includes/admin.php:747
284
  #, php-format
285
  msgid "To enable cyrillic usernames, you might need <a target=\"_blank\" href=\"%s\">this plugin</a>"
286
  msgstr "Um kyrillische Zeichen zu verwenden, brauchen Sie <a target=\"_blank\" href=\"%s\">dieses Plugin</a>"
287
 
288
+ #: includes/admin.php:758
289
+ #: includes/admin.php:1105
290
  msgid "Save Changes"
291
  msgstr "Einstellungen speichern"
292
 
293
+ #: includes/admin.php:785
294
  msgid "Logout to see the plugin in action!"
295
  msgstr "Sie müssen ausloggen, um das Plugin testen zu können."
296
 
297
+ #: includes/admin.php:789
298
  msgid "Social Login is a plugin that allows your users to comment, login and register with their existing Social Network accounts. If a user is already logged in, the plugin will not be displayed. There is no need to give the user the possibility to connect with a social network if he is already connected."
299
  msgstr "Social Login erlaubt es Ihren Benutzern, sich mit dem Konto eines sozialen Netzwerks anzumelden. Bei Benutzern die bereits eingeloggt sind wird das Plugin nicht angezeigt, da der Benutzer bereits angemeldet ist, und keine weitere Anmeldenmöglichkeit benötigt. "
300
 
301
+ #: includes/admin.php:791
302
  msgid "You therefore have to logout to see the plugin in action."
303
  msgstr "Sie müssen Sich aus diesem Grund ausloggen, um das Plugin testen zu können."
304
 
305
+ #: includes/admin.php:807
306
  msgid "General Settings"
307
  msgstr "Allgemeine Einstellungen"
308
 
309
+ #: includes/admin.php:812
310
  msgid "Enter the description to be displayed above the Social Login buttons (leave empty for none):"
311
  msgstr "Welcher Text soll über den Icons der sozialen Netzwerke angezeigt werden (ggf. leer lassen) ?"
312
 
313
+ #: includes/admin.php:817
314
  msgid "Connect with:"
315
  msgstr "Einloggen mit:"
316
 
317
+ #: includes/admin.php:822
318
  msgid "Do you want to use the default or the small social network buttons?"
319
  msgstr "Wollen Sie die standard -oder kleinere Icons für soziale Netzwerke verwenden?"
320
 
321
+ #: includes/admin.php:830
322
  #, php-format
323
  msgid "Use the default social network buttons (%s)"
324
  msgstr "Standard-Icons verwenden (%s)"
325
 
326
+ #: includes/admin.php:831
327
  #, php-format
328
  msgid "Use the small social network buttons (%s)"
329
  msgstr "Kleine Icons verwenden (%s)"
330
 
331
+ #: includes/admin.php:836
332
  msgid "Do you want to display the social networks used to connect in the user list of the administration area ?"
333
  msgstr "Sollen die verwendeten sozialen Netzwerke in der Benutzerliste angezeigt werden?"
334
 
335
+ #: includes/admin.php:844
336
  msgid "Yes, add a new column to the user list and display the social network that the user connected with"
337
  msgstr "Ja, eine weitere Spalte in der Benutzerliste anzeigen"
338
 
339
+ #: includes/admin.php:845
340
  msgid "No, no not display the social networks in the user list"
341
  msgstr "Nein, soziale Netzwerke nicht anzeigen"
342
 
343
+ #: includes/admin.php:850
344
  msgid "Do you want to receive an email whenever a new user registers with Social Login ?"
345
  msgstr "Wollen Sie per Email benachrichtigt werden, sobald ein Benutzer sich mit Social Login anmeldet?"
346
 
347
+ #: includes/admin.php:858
348
  msgid "Yes, send me an email whenever a new user registers with Social Login"
349
  msgstr "Ja, ich möchte eine Email erhalten, wenn jemand sich mit Social Login anmeldet"
350
 
351
+ #: includes/admin.php:859
352
  msgid "No, do not send me any emails"
353
  msgstr "Nein, keine Benachrichtigung per Email versenden"
354
 
355
+ #: includes/admin.php:866
356
  msgid "User Settings"
357
  msgstr "Benutzer Einstellungen"
358
 
359
+ #: includes/admin.php:871
360
  msgid "If the user's social network profile has no email address, should we ask the user to enter it manually?"
361
  msgstr "Müssen Benutzer Ihre Email Address manuell eingeben falls sie nicht im Sozialen Profil vorhanden ist?"
362
 
363
+ #: includes/admin.php:879
364
  msgid "No, simplify the registration by automatically creating a placeholder email"
365
  msgstr "Nein, in diesem Fall eine Platzhalter-Email anlegen (vereinfach die Registrierung)"
366
 
367
+ #: includes/admin.php:880
368
  msgid "Yes, require the user to enter his email address manually and display this message:"
369
  msgstr "Ja, Benutzer mit folgendem Text auffordern, ihre Email-Adresse einzugeben:"
370
 
371
+ #: includes/admin.php:881
372
+ #: includes/user_interface.php:771
373
  #, php-format
374
  msgid "<strong>We unfortunately could not retrieve your email address from %s.</strong> Please enter your email address in the form below in order to continue."
375
  msgstr "<strong>Wir konnten Ihre E-Mail-Adresse leider nicht über Ihr %s Konto ermitteln.</strong> Bitte geben Sie Ihre Email-Adresse nachfolgend an."
376
 
377
+ #: includes/admin.php:882
378
  #, php-format
379
  msgid "HTML is allowed, the placeholder %s is replaced by the name of the social network used to connect."
380
  msgstr "HTML ist erlaubt, der Platzhalter %s wird durch den Namen des sozialen Netzwerks ersetzt."
381
 
382
+ #: includes/admin.php:887
383
  msgid "If the user's social network profile has a verified email, should we try to link it to an existing account?"
384
  msgstr "Sollen soziale Profile mit überprüfter Email mit vorhandenen Blog-Nutzern verknüpft werden?"
385
 
386
+ #: includes/admin.php:895
387
  msgid "Yes, try to link verified social network profiles to existing blog accounts"
388
  msgstr "Ja, verknüpfe soziale Profile gegebenenfalls mit vorhanden Nutzern"
389
 
390
+ #: includes/admin.php:896
391
  msgid "No, disable account linking"
392
  msgstr "Nein, keine Verknüpfung"
393
 
394
+ #: includes/admin.php:901
395
  msgid "If the user's social network profile has an avatar, should we show it as the default avatar for the user?"
396
  msgstr "Wollen Sie die Nutzer-Avatare der sozialen Netwerke gegebenenfalls verwenden?"
397
 
398
+ #: includes/admin.php:909
399
  msgid "Yes, show user avatars from social networks if available"
400
  msgstr "Ja, zeige den sozialen Avatar des Benutzer in den Kommentaren dieses Benutzers an"
401
 
402
+ #: includes/admin.php:910
403
  msgid "No, display the default avatars"
404
  msgstr "Nein, zeige die Standard-Avatare"
405
 
406
+ #: includes/admin.php:917
407
  msgid "Comment Settings"
408
  msgstr "Einstellungen: Kommentare"
409
 
410
+ #: includes/admin.php:922
411
  msgid "Show the Social Login buttons in the comment area?"
412
  msgstr "Das Plugin über dem Kommentare-Formular anzeigen?"
413
 
414
+ #: includes/admin.php:930
415
+ #: includes/admin.php:945
416
  msgid "Yes, show the Social Login buttons"
417
  msgstr "Ja, zeige das Plugin an"
418
 
419
+ #: includes/admin.php:931
420
+ #: includes/admin.php:946
421
  msgid "No, do not show the Social Login buttons"
422
  msgstr "Nein, Plugin nicht anzeigen"
423
 
424
+ #: includes/admin.php:936
425
  msgid "Show the Social Login buttons in the comment area if comments are disabled for guests?"
426
  msgstr "Login mit einem sozialen Netzwerk anbieten falls Kommentare für Gäste deaktiviert sind?"
427
 
428
+ #: includes/admin.php:944
429
  msgid "The buttons will be displayed below the \"You must be logged in to leave a comment\" notice."
430
  msgstr "Die Icons werden unter \"Du musst angemeldet sein, um einen Kommentar abzugeben\" angezeigt."
431
 
432
+ #: includes/admin.php:951
433
  msgid "Automatically approve comments left by users that connected by using Social Login?"
434
  msgstr "Kommentare automatisch freischalten, falls dessen Autor sich mit SocialLogin eingeloggt hat?"
435
 
436
+ #: includes/admin.php:959
437
  msgid "Yes, automatically approve comments made by users that connected with Social Login"
438
  msgstr "Ja, Kommentare automatisch freischalten"
439
 
440
+ #: includes/admin.php:960
441
  msgid "No, do not automatically approve"
442
  msgstr "Nein, Kommentare nicht automatisch freischalten"
443
 
444
+ #: includes/admin.php:969
445
+ msgid "Profile Settings"
446
+ msgstr "Mitgliederprofil Einstellungen"
447
+
448
+ #: includes/admin.php:974
449
+ msgid "Show the Social Link buttons in the user profile?"
450
+ msgstr "Social Link im Mitgliederprofil anzeigen?"
451
+
452
+ #: includes/admin.php:979
453
+ msgid "Keep this option enabled to allow each user to connect multiple social networks to his own profile."
454
+ msgstr "Aktivieren Sie diese Option, damit Ihre Mitglieder Ihr Konto mit sozialen Netzwerken koppeln können."
455
+
456
+ #: includes/admin.php:981
457
+ msgid "Yes, show the Social Link buttons"
458
+ msgstr "Ja, zeige Social Link an"
459
+
460
+ #: includes/admin.php:982
461
+ msgid "No, do not show the Social Link buttons"
462
+ msgstr "Nein, Social Link nicht anzeigen"
463
+
464
+ #: includes/admin.php:991
465
  msgid "Login Page Settings"
466
  msgstr "Einstellungen: Login-Seite"
467
 
468
+ #: includes/admin.php:996
469
  msgid "Do you want to display Social Login on the login form of your blog?"
470
  msgstr "Das Plugin auf der Login-Seite Ihres Blogs anzeigen?"
471
 
472
+ #: includes/admin.php:1004
473
  msgid "Yes, display the social network buttons below the login form"
474
  msgstr "Ja, die Icons der sozialen Netzwerke auf der Login-Seite anzeigen"
475
 
476
+ #: includes/admin.php:1005
477
  msgid "No, disable social network buttons in the login form"
478
  msgstr "Nein, keine Icons auf der Login-Seite anzeigen"
479
 
480
+ #: includes/admin.php:1010
481
  msgid "Where should users be redirected to after having logged in with Social Login on the login page?"
482
  msgstr "Wohin sollen Nutzer weitergeleitet werden, nachdem Sie sich Social Login auf der Login-Seite eingeloggt haben?"
483
 
484
+ #: includes/admin.php:1018
485
+ #: includes/admin.php:1055
486
+ #: includes/admin.php:1079
487
+ #: includes/admin.php:1096
488
  msgid "Redirect users to the homepage of my blog"
489
  msgstr "Weiterleitung zur Hauptseite meines Blogs"
490
 
491
+ #: includes/admin.php:1019
492
+ #: includes/admin.php:1056
493
+ #: includes/admin.php:1080
494
+ #: includes/admin.php:1097
495
  msgid "Redirect users to their account dashboard"
496
  msgstr "Weiterleitung zur Profilseite des Nutzers"
497
 
498
+ #: includes/admin.php:1020
499
+ #: includes/admin.php:1057
500
+ #: includes/admin.php:1081
501
+ #: includes/admin.php:1098
502
  msgid "Redirect users to the following url"
503
  msgstr "Weiterleitung zu dieser URL"
504
 
505
+ #: includes/admin.php:1028
506
  msgid "Registration Page Settings"
507
  msgstr "Einstellungen: Anmelden-Seite"
508
 
509
+ #: includes/admin.php:1033
510
  msgid "Do you want to display Social Login on the registration form of your blog?"
511
  msgstr "Das Plugin auf der Anmelden-Seite Ihres Blogs anzeigen?"
512
 
513
+ #: includes/admin.php:1041
514
  msgid "Yes, display the social network buttons below the registration form"
515
  msgstr "Ja, die Icons der sozialen Netzwerke auf der Anmelden-Seite anzeigen"
516
 
517
+ #: includes/admin.php:1042
518
  msgid "No, disable social network buttons in the registration form"
519
  msgstr "Nein, keine Icons auf der Anmelden-Seite anzeigen"
520
 
521
+ #: includes/admin.php:1047
522
  msgid "Where should users be redirected to after having registered with Social Login on the registration page?"
523
  msgstr "Wohin sollen Nutzer weitergeleitet werden, nachdem sie ein Konto mit einem sozialen Netzwerk angelegt haben?"
524
 
525
+ #: includes/admin.php:1065
526
  msgid "Widget &amp; Shortcode Settings"
527
  msgstr "Widget &amp; Shortcode Einstellungen"
528
 
529
+ #: includes/admin.php:1070
530
  msgid "Redirect users to this page after they have logged in with Social Login embedded by Widget/Shortcode:"
531
  msgstr "Benutzer zu dieser Seite weiterleiten nachdem sie im Social Login Widget/Shortcode eingloggt haben:"
532
 
533
+ #: includes/admin.php:1078
534
+ #: includes/admin.php:1095
535
  msgid "Redirect users back to the current page"
536
  msgstr "Weiterleitung zurück zur aktuellen Seite"
537
 
538
+ #: includes/admin.php:1087
539
  msgid "Redirect users to this page after they have registered with Social Login embedded by Widget/Shortcode:"
540
  msgstr "Benutzer zu dieser Seite weiterleiten nachdem sie über das Social Login Widget/Shortcode registriert haben:"
541
 
542
+ #: includes/user_interface.php:77
543
+ #: includes/user_interface.php:665
544
  msgid "Please enable at least one social network!"
545
  msgstr "Bitte aktivieren Sie mindestens ein soziales Netzwerk!"
546
 
547
+ #: includes/user_interface.php:125
548
+ #: includes/user_interface.php:163
549
+ #, php-format
550
+ msgid "You have successfully linked your %s account."
551
+ msgstr "Sie haben Ihr %s Konto erfolgreich hinzugefügt."
552
+
553
+ #: includes/user_interface.php:157
554
+ #: includes/user_interface.php:248
555
+ #, php-format
556
+ msgid "This %s account is already used by another user of this website."
557
+ msgstr "Dieses %s Konto wird bereit von einem anderen Nutzer verwendet."
558
+
559
+ #: includes/user_interface.php:188
560
+ #, php-format
561
+ msgid "You have successfully unlinked your %s account."
562
+ msgstr "Sie haben die Verbindung mit %s Konto getrennt."
563
+
564
+ #: includes/user_interface.php:236
565
+ msgid "You might no longer be able to login to this website if you don't link at least one social network."
566
+ msgstr "Sie können sich womöglich nicht mehr einloggen, falls Sie nicht mindestens ein soziales Netzerk koppeln."
567
+
568
+ #: includes/user_interface.php:288
569
+ msgid "Connect your account to one or more social networks"
570
+ msgstr "Verbinden Sie Ihr Konto mit einem oder mehreren sozialen Netzwerken"
571
+
572
+ #: includes/user_interface.php:314
573
+ msgid "Social Networks"
574
+ msgstr "Soziale Netzwerke"
575
+
576
+ #: includes/user_interface.php:736
577
  msgid "Please enter your email address"
578
  msgstr "Bitte geben Sie Ihre E-Mail-Adresse ein"
579
 
580
+ #: includes/user_interface.php:742
581
  msgid "This email is not valid"
582
  msgstr "Diese E-Mail-Adresse ist ungültig"
583
 
584
+ #: includes/user_interface.php:747
585
  msgid "This email is already used by another account"
586
  msgstr "Diese E-Mail-Adresse wird bereits verwendet"
587
 
588
+ #: includes/user_interface.php:783
589
  #, php-format
590
  msgid "You have successfully connected with %s!"
591
  msgstr "Sie haben Sich erfolgreicht mit %s angemeldet!"
592
 
593
+ #: includes/user_interface.php:795
594
  msgid "Your email address"
595
  msgstr "Ihre E-Mail-Adresse"
596
 
597
+ #: includes/user_interface.php:807
598
  msgid "Confirm my email address"
599
  msgstr "Bitte bestätigen Sie Ihre E-Mail-Adresse"
600
 
626
  msgid "Tick to use small buttons"
627
  msgstr "Kleine Icons verwenden"
628
 
629
+ #: includes/toolbox.php:86
630
  #, php-format
631
  msgid "New user registration on your site %s:"
632
  msgstr "Neue Benutzeranmeldung auf Ihrer Seite %s:"
633
 
634
+ #: includes/toolbox.php:87
635
  #, php-format
636
  msgid "Username: %s"
637
  msgstr "Benutzername: %s"
638
 
639
+ #: includes/toolbox.php:88
640
  #, php-format
641
  msgid "Social Network: %s"
642
  msgstr "Soziales Netzwerk: %s"
643
 
644
+ #: includes/toolbox.php:91
645
  #, php-format
646
  msgid "[%s] New User Registration"
647
  msgstr "[%s] Neue Benutzeranmeldung"
oa-social-login.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Social Login
4
  Plugin URI: http://www.oneall.com/
5
  Description: Allow your visitors to <strong>comment, login and register with 20+ social networks</strong> like Twitter, Facebook, LinkedIn, Hyves, Вконтакте, Google or Yahoo.
6
- Version: 3.7
7
  Author: Claude Schlesser
8
  Author URI: http://www.oneall.com/
9
  License: GPL2
@@ -11,7 +11,7 @@ License: GPL2
11
 
12
  define ('OA_SOCIAL_LOGIN_PLUGIN_URL', plugins_url () . '/' . basename (dirname (__FILE__)));
13
  define ('OA_SOCIAL_LOGIN_BASE_PATH', dirname (plugin_basename (__FILE__)));
14
- define ('OA_SOCIAL_LOGIN_VERSION', '3.7');
15
 
16
  /**
17
  * Check technical requirements before activating the plugin (Wordpress 3.0 or newer required)
@@ -75,4 +75,4 @@ require_once(dirname (__FILE__) . '/includes/widget.php');
75
  /**
76
  * Initialise
77
  */
78
- add_action ('init', 'oa_social_login_init', 9);
3
  Plugin Name: Social Login
4
  Plugin URI: http://www.oneall.com/
5
  Description: Allow your visitors to <strong>comment, login and register with 20+ social networks</strong> like Twitter, Facebook, LinkedIn, Hyves, Вконтакте, Google or Yahoo.
6
+ Version: 4.0
7
  Author: Claude Schlesser
8
  Author URI: http://www.oneall.com/
9
  License: GPL2
11
 
12
  define ('OA_SOCIAL_LOGIN_PLUGIN_URL', plugins_url () . '/' . basename (dirname (__FILE__)));
13
  define ('OA_SOCIAL_LOGIN_BASE_PATH', dirname (plugin_basename (__FILE__)));
14
+ define ('OA_SOCIAL_LOGIN_VERSION', '4.0');
15
 
16
  /**
17
  * Check technical requirements before activating the plugin (Wordpress 3.0 or newer required)
75
  /**
76
  * Initialise
77
  */
78
+ add_action ('init', 'oa_social_login_init', 9);
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: ClaudeSchlesser
3
  Tags: social login, social connect, facebook login, linkedin, livejournal, google, yahoo, twitter login, openid, paypal, vkontakte, hyves, widget, plugin, social network login, comments
4
  Requires at least: 3.0
5
- Tested up to: 3.4.2
6
- Stable tag: 3.7
7
 
8
  Allow your visitors to comment and login with social networks like Twitter, Facebook, Paypal, LinkedIn, LiveJournal, OpenID, VKontakte, Google, Yahoo
9
 
@@ -45,8 +45,10 @@ login and register with social networks like Twitter, Facebook, LinkedIn, Paypal
45
  <li>Blogger</li>
46
  <li>Disqus</li>
47
  <li>Steam</li>
 
48
  <li>Hyves</li>
49
  <li>Mail.ru</li>
 
50
  <li>VKontakte (Вконтакте)</li>
51
  </ul>
52
 
@@ -118,6 +120,15 @@ http://docs.oneall.com/plugins/guide/social-login-wordpress/
118
 
119
  == Changelog ==
120
 
 
 
 
 
 
 
 
 
 
121
  = 3.7 =
122
  * Hook for BuddyPress Registration added
123
  * Hook for BuddyPress Sidebar added
@@ -125,14 +136,14 @@ http://docs.oneall.com/plugins/guide/social-login-wordpress/
125
  * Filter for email addresses of new users added
126
  * Admin page width fixed
127
  * Minor text changes
128
- * Identity Provider "Blogger" added
129
- * Identity Provider "Disqus" added
130
 
131
  = 3.6 =
132
  * Debug Output Removed
133
 
134
  = 3.5 =
135
- * Identity Provider "Foursquare.com" added
136
  * Github 16x16px icon fixed
137
  * Optionally get an email when a users registers with Social Login
138
  * Redirection settings improved
@@ -142,8 +153,8 @@ http://docs.oneall.com/plugins/guide/social-login-wordpress/
142
  * Custom CSS filter added
143
 
144
  = 3.2 =
145
- * Identity Provider "Skyrock.com" added
146
- * Identity Provider "Github.com" added
147
  * German translations improved
148
 
149
  = 3.1 =
@@ -158,8 +169,8 @@ http://docs.oneall.com/plugins/guide/social-login-wordpress/
158
  * Optionally disable Social Login in comments
159
  * Optionally request email from user
160
  * Optionally show social networks in user list
161
- * Identity Provider "Windows Mail" added
162
- * Identity Provider "Mail.ru" added
163
  * Error message if no social networks selected
164
  * Class for Social Login label added
165
  * Small icons fixed
@@ -173,8 +184,8 @@ http://docs.oneall.com/plugins/guide/social-login-wordpress/
173
  * HTML for administration area fixed
174
  * FSOCKOPEN Handler Added
175
  * CURL/FSOCKOPEN selector added
176
- * Identity Provider "Steam Community" added
177
- * Identity Provider "StackExchange" added
178
  * CSS served from CDN
179
  * Optionally disable comment moderation
180
 
@@ -241,7 +252,7 @@ http://docs.oneall.com/plugins/guide/social-login-wordpress/
241
  == Testimonials ==
242
 
243
  <strong>Used by thousands of users around the world!</strong>
244
-
245
  <em>You have no idea how it THRILLED me to integrate oneall. It was SO amazingly easy, your team has simplified the whole process of signing up for
246
  authorization on multiple social media sites. I HAD NO QUESTIONS/STEPS THAT YOU HADN'T ALREADY ANTICIPATED. It saved me HOURS of work!</em>
247
  <strong>Kelly C.</strong>
@@ -306,4 +317,7 @@ for putting together such a great product that so many users can implement with
306
  <strong>Martin S.</strong>
307
 
308
  <em>The site and the plugin are working magnificently. Thank you one million times for making your products/services available in the manner that you have.</em>
309
- <strong>Herman G.</strong>
 
 
 
2
  Contributors: ClaudeSchlesser
3
  Tags: social login, social connect, facebook login, linkedin, livejournal, google, yahoo, twitter login, openid, paypal, vkontakte, hyves, widget, plugin, social network login, comments
4
  Requires at least: 3.0
5
+ Tested up to: 3.5.1
6
+ Stable tag: 4.0
7
 
8
  Allow your visitors to comment and login with social networks like Twitter, Facebook, Paypal, LinkedIn, LiveJournal, OpenID, VKontakte, Google, Yahoo
9
 
45
  <li>Blogger</li>
46
  <li>Disqus</li>
47
  <li>Steam</li>
48
+ <li>YouTube</li>
49
  <li>Hyves</li>
50
  <li>Mail.ru</li>
51
+ <li>Odnoklassniki.ru</li>
52
  <li>VKontakte (Вконтакте)</li>
53
  </ul>
54
 
120
 
121
  == Changelog ==
122
 
123
+ = 4.0 =
124
+ * Social Link Service added
125
+ * Optimized for WordPress 3.5
126
+ * Meta "oa_social_login_identity_id" no longer used and removed
127
+ * German translations improved
128
+ * Social Network "YouTube" added
129
+ * Social Network "Odnoklassniki.ru" added
130
+ * Hook "after_signup_form" added
131
+
132
  = 3.7 =
133
  * Hook for BuddyPress Registration added
134
  * Hook for BuddyPress Sidebar added
136
  * Filter for email addresses of new users added
137
  * Admin page width fixed
138
  * Minor text changes
139
+ * Social Network "Blogger" added
140
+ * Social Network "Disqus" added
141
 
142
  = 3.6 =
143
  * Debug Output Removed
144
 
145
  = 3.5 =
146
+ * Social Network "Foursquare.com" added
147
  * Github 16x16px icon fixed
148
  * Optionally get an email when a users registers with Social Login
149
  * Redirection settings improved
153
  * Custom CSS filter added
154
 
155
  = 3.2 =
156
+ * Social Network "Skyrock.com" added
157
+ * Social Network "Github.com" added
158
  * German translations improved
159
 
160
  = 3.1 =
169
  * Optionally disable Social Login in comments
170
  * Optionally request email from user
171
  * Optionally show social networks in user list
172
+ * Social Network "Windows Mail" added
173
+ * Social Network "Mail.ru" added
174
  * Error message if no social networks selected
175
  * Class for Social Login label added
176
  * Small icons fixed
184
  * HTML for administration area fixed
185
  * FSOCKOPEN Handler Added
186
  * CURL/FSOCKOPEN selector added
187
+ * Social Network "Steam Community" added
188
+ * Social Network "StackExchange" added
189
  * CSS served from CDN
190
  * Optionally disable comment moderation
191
 
252
  == Testimonials ==
253
 
254
  <strong>Used by thousands of users around the world!</strong>
255
+
256
  <em>You have no idea how it THRILLED me to integrate oneall. It was SO amazingly easy, your team has simplified the whole process of signing up for
257
  authorization on multiple social media sites. I HAD NO QUESTIONS/STEPS THAT YOU HADN'T ALREADY ANTICIPATED. It saved me HOURS of work!</em>
258
  <strong>Kelly C.</strong>
317
  <strong>Martin S.</strong>
318
 
319
  <em>The site and the plugin are working magnificently. Thank you one million times for making your products/services available in the manner that you have.</em>
320
+ <strong>Herman G.</strong>
321
+
322
+ <em>Very user friendly, there are guides and screenshot on how to set things up. Thank you so much for this awesome plugin!</em>
323
+ <strong>Cebututs</strong>
screenshot-1.png CHANGED
File without changes
screenshot-2.png CHANGED
File without changes
screenshot-3.png CHANGED
File without changes
screenshot-4.png CHANGED
File without changes
screenshot-5.png CHANGED
File without changes