Version Description
- Added plugin tour buttons to give an overview of features
- Updated registration flow for better visibility
- Updated custom apps to prefill scopes with default values to reduce confusion
- Fixed auto user creation issue for Facebook
Download this release
Release Info
Developer | cyberlord92 |
Plugin | Social Login |
Version | 7.1.0 |
Comparing to | |
See all releases |
Code changes from version 7.0.3 to 7.1.0
- class-mo-openid-login-widget.php +11 -5
- includes/css/bootstrap-tour-standalone.css +762 -0
- includes/css/bootstrap.min.css +0 -1
- includes/css/mo_openid_feedback.css +8 -6
- includes/css/mo_openid_style.css +65 -2
- includes/images/custom_app.png +0 -0
- includes/js/bootstrap-tour-standalone.min.js +1761 -0
- miniorange_openid_sso_settings.php +649 -575
- miniorange_openid_sso_settings_page.php +740 -206
- mo_openid_feedback_form.php +2 -2
- readme.txt +43 -9
- uninstall.php +4 -1
class-mo-openid-login-widget.php
CHANGED
@@ -346,7 +346,7 @@ if(mo_openid_is_customer_registered()) {
|
|
346 |
<div>No apps configured. Please contact your administrator.</div>
|
347 |
<?php
|
348 |
}
|
349 |
-
if(
|
350 |
$logo_html = $this->mo_openid_customize_logo();
|
351 |
echo $logo_html;
|
352 |
}
|
@@ -651,7 +651,7 @@ if(mo_openid_is_customer_registered()) {
|
|
651 |
$html .= '<div>No apps configured. Please contact your administrator.</div>';
|
652 |
|
653 |
}
|
654 |
-
if(
|
655 |
$logo_html=$this->mo_openid_customize_logo();
|
656 |
$html .= $logo_html;
|
657 |
}
|
@@ -982,7 +982,6 @@ if(mo_openid_is_customer_registered()) {
|
|
982 |
}
|
983 |
exit;
|
984 |
}
|
985 |
-
|
986 |
else if( isset( $_POST['option'] ) and strpos( $_POST['option'], 'mo_openid_show_profile_form' ) !== false ){
|
987 |
echo mo_openid_profile_completion_form($_POST["last_name"],$_POST["first_name"], $_POST["user_full_name"],$_POST["user_url"], $_POST["user_picture"], $_POST['username_field'], $_POST['email_field'],$_POST["decrypted_app_name"],$_POST["decrypted_user_id"]);
|
988 |
exit;
|
@@ -1704,9 +1703,9 @@ if(mo_openid_is_customer_registered()) {
|
|
1704 |
$code = $_REQUEST['code'];
|
1705 |
}
|
1706 |
else if(isset( $_REQUEST['error_reason'] )){
|
1707 |
-
|
1708 |
-
echo $_REQUEST['error'] . "<br>";
|
1709 |
echo $_REQUEST['error_description'] . "<br>";
|
|
|
1710 |
}
|
1711 |
}
|
1712 |
|
@@ -2011,6 +2010,9 @@ if(mo_openid_is_customer_registered()) {
|
|
2011 |
wp_redirect($redirect_url);
|
2012 |
exit;
|
2013 |
}
|
|
|
|
|
|
|
2014 |
}
|
2015 |
//email and username are both returned..dont show profile completion
|
2016 |
else{
|
@@ -2146,6 +2148,10 @@ if(mo_openid_is_customer_registered()) {
|
|
2146 |
wp_redirect($redirect_url);
|
2147 |
exit;
|
2148 |
}
|
|
|
|
|
|
|
|
|
2149 |
}
|
2150 |
}
|
2151 |
}
|
346 |
<div>No apps configured. Please contact your administrator.</div>
|
347 |
<?php
|
348 |
}
|
349 |
+
if( $appsConfigured && get_option('moopenid_logo_check') == 1){
|
350 |
$logo_html = $this->mo_openid_customize_logo();
|
351 |
echo $logo_html;
|
352 |
}
|
651 |
$html .= '<div>No apps configured. Please contact your administrator.</div>';
|
652 |
|
653 |
}
|
654 |
+
if( $appsConfigured && get_option('moopenid_logo_check') == 1 ){
|
655 |
$logo_html=$this->mo_openid_customize_logo();
|
656 |
$html .= $logo_html;
|
657 |
}
|
982 |
}
|
983 |
exit;
|
984 |
}
|
|
|
985 |
else if( isset( $_POST['option'] ) and strpos( $_POST['option'], 'mo_openid_show_profile_form' ) !== false ){
|
986 |
echo mo_openid_profile_completion_form($_POST["last_name"],$_POST["first_name"], $_POST["user_full_name"],$_POST["user_url"], $_POST["user_picture"], $_POST['username_field'], $_POST['email_field'],$_POST["decrypted_app_name"],$_POST["decrypted_user_id"]);
|
987 |
exit;
|
1703 |
$code = $_REQUEST['code'];
|
1704 |
}
|
1705 |
else if(isset( $_REQUEST['error_reason'] )){
|
1706 |
+
|
|
|
1707 |
echo $_REQUEST['error_description'] . "<br>";
|
1708 |
+
wp_die("Allow access to your profile to get logged in. Click <a href=".get_site_url().">here</a> to go back to the website.");
|
1709 |
}
|
1710 |
}
|
1711 |
|
2010 |
wp_redirect($redirect_url);
|
2011 |
exit;
|
2012 |
}
|
2013 |
+
$redirect_url = mo_openid_get_redirect_url();
|
2014 |
+
wp_redirect($redirect_url);
|
2015 |
+
exit;
|
2016 |
}
|
2017 |
//email and username are both returned..dont show profile completion
|
2018 |
else{
|
2148 |
wp_redirect($redirect_url);
|
2149 |
exit;
|
2150 |
}
|
2151 |
+
|
2152 |
+
$redirect_url = mo_openid_get_redirect_url();
|
2153 |
+
wp_redirect($redirect_url);
|
2154 |
+
exit;
|
2155 |
}
|
2156 |
}
|
2157 |
}
|
includes/css/bootstrap-tour-standalone.css
ADDED
@@ -0,0 +1,762 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ========================================================================
|
2 |
+
* bootstrap-tour - v0.12.0
|
3 |
+
* http://bootstraptour.com
|
4 |
+
* ========================================================================
|
5 |
+
* Copyright 2012-2017 Ulrich Sossou
|
6 |
+
*
|
7 |
+
* ========================================================================
|
8 |
+
* Licensed under the MIT License (the "License");
|
9 |
+
* you may not use this file except in compliance with the License.
|
10 |
+
* You may obtain a copy of the License at
|
11 |
+
*
|
12 |
+
* https://opensource.org/licenses/MIT
|
13 |
+
*
|
14 |
+
* Unless required by applicable law or agreed to in writing, software
|
15 |
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
16 |
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
17 |
+
* See the License for the specific language governing permissions and
|
18 |
+
* limitations under the License.
|
19 |
+
* ========================================================================
|
20 |
+
*/
|
21 |
+
|
22 |
+
.mo2f_tour_btn {
|
23 |
+
display: inline-block;
|
24 |
+
font-weight: normal;
|
25 |
+
text-align: center;
|
26 |
+
white-space: nowrap;
|
27 |
+
vertical-align: middle;
|
28 |
+
user-select: none;
|
29 |
+
border: 1px solid transparent;
|
30 |
+
padding: 0.5rem 0.75rem;
|
31 |
+
font-size: 1rem;
|
32 |
+
line-height: 1.25;
|
33 |
+
border-radius: 0.25rem;
|
34 |
+
transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
|
35 |
+
.mo2f_tour_btn:focus, .mo2f_tour_btn:hover {
|
36 |
+
text-decoration: none; }
|
37 |
+
.mo2f_tour_btn:focus, .mo2f_tour_btn.focus {
|
38 |
+
outline: 0;
|
39 |
+
box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25); }
|
40 |
+
.mo2f_tour_btn.disabled, .mo2f_tour_btn:disabled {
|
41 |
+
opacity: .65; }
|
42 |
+
.mo2f_tour_btn:active, .mo2f_tour_btn.active {
|
43 |
+
background-image: none; }
|
44 |
+
|
45 |
+
a.mo2f_tour_btn.disabled,
|
46 |
+
fieldset[disabled] a.mo2f_tour_btn {
|
47 |
+
pointer-events: none; }
|
48 |
+
|
49 |
+
.mo2f_tour_btn-primary {
|
50 |
+
color: #fff;
|
51 |
+
background-color: #007bff;
|
52 |
+
border-color: #007bff; }
|
53 |
+
.mo2f_tour_btn-primary:hover {
|
54 |
+
color: #fff;
|
55 |
+
background-color: #0069d9;
|
56 |
+
border-color: #0062cc; }
|
57 |
+
.mo2f_tour_btn-primary:focus, .mo2f_tour_btn-primary.focus {
|
58 |
+
box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5); }
|
59 |
+
.mo2f_tour_btn-primary.disabled, .mo2f_tour_btn-primary:disabled {
|
60 |
+
background-color: #007bff;
|
61 |
+
border-color: #007bff; }
|
62 |
+
.mo2f_tour_btn-primary:active, .mo2f_tour_btn-primary.active,
|
63 |
+
.show > .mo2f_tour_btn-primary.dropdown-toggle {
|
64 |
+
background-color: #0069d9;
|
65 |
+
background-image: none;
|
66 |
+
border-color: #0062cc; }
|
67 |
+
|
68 |
+
.mo2f_tour_btn-secondary {
|
69 |
+
color: #fff;
|
70 |
+
background-color: #007902;
|
71 |
+
border-color: #868e96;
|
72 |
+
}
|
73 |
+
.mo2f_tour_btn_end-secondary {
|
74 |
+
background: #00A0D2;
|
75 |
+
border-color: #0073AA;
|
76 |
+
box-shadow: 0 1px 0 rgba(120, 200, 230, .5) inset, 0 1px 0 rgba(0, 0, 0, .15);
|
77 |
+
color: #FFF;
|
78 |
+
text-decoration: none;
|
79 |
+
cursor: pointer;
|
80 |
+
border-width: 1px;
|
81 |
+
border-style: solid;
|
82 |
+
border-radius: 3px;
|
83 |
+
white-space: nowrap;
|
84 |
+
box-sizing: border-box;
|
85 |
+
line-height: 28px;
|
86 |
+
padding: 0 12px;
|
87 |
+
font-size: 13px
|
88 |
+
}
|
89 |
+
.mo2f_tour_btn_next-success {
|
90 |
+
background: #00A0D2;
|
91 |
+
background-color:#5cb85c;border-color:#4cae4c;
|
92 |
+
box-shadow: 0 1px 0 rgba(120, 200, 230, .5) inset, 0 1px 0 rgba(0, 0, 0, .15);
|
93 |
+
color: #FFF;
|
94 |
+
text-decoration: none;
|
95 |
+
cursor: pointer;
|
96 |
+
border-width: 1px;
|
97 |
+
border-style: solid;
|
98 |
+
border-radius: 3px;
|
99 |
+
white-space: nowrap;
|
100 |
+
box-sizing: border-box;
|
101 |
+
line-height: 28px;
|
102 |
+
padding: 0 12px;
|
103 |
+
font-size: 13px;
|
104 |
+
}
|
105 |
+
.mo2f_tour_btn-secondary:hover {
|
106 |
+
color: #fff;
|
107 |
+
background-color: #727b84;
|
108 |
+
border-color: #6c757d; }
|
109 |
+
|
110 |
+
.mo2f_tour_btn-secondary:focus, .mo2f_tour_btn-secondary.focus {
|
111 |
+
box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5); }
|
112 |
+
.mo2f_tour_btn-secondary.disabled, .mo2f_tour_btn-secondary:disabled {
|
113 |
+
background-color: #868e96;
|
114 |
+
border-color: #868e96; }
|
115 |
+
.mo2f_tour_btn-secondary:active, .mo2f_tour_btn-secondary.active,
|
116 |
+
.show > .mo2f_tour_btn-secondary.dropdown-toggle {
|
117 |
+
background-color: #727b84;
|
118 |
+
background-image: none;
|
119 |
+
border-color: #6c757d; }
|
120 |
+
|
121 |
+
.mo2f_tour_btn-success {
|
122 |
+
color: #fff;
|
123 |
+
background-color: #28a745;
|
124 |
+
border-color: #28a745; }
|
125 |
+
.mo2f_tour_btn-success:hover {
|
126 |
+
color: #fff;
|
127 |
+
background-color: #218838;
|
128 |
+
border-color: #1e7e34; }
|
129 |
+
.mo2f_tour_btn-success:focus, .mo2f_tour_btn-success.focus {
|
130 |
+
box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5); }
|
131 |
+
.mo2f_tour_btn-success.disabled, .mo2f_tour_btn-success:disabled {
|
132 |
+
background-color: #28a745;
|
133 |
+
border-color: #28a745; }
|
134 |
+
.mo2f_tour_btn-success:active, .mo2f_tour_btn-success.active,
|
135 |
+
.show > .mo2f_tour_btn-success.dropdown-toggle {
|
136 |
+
background-color: #218838;
|
137 |
+
background-image: none;
|
138 |
+
border-color: #1e7e34; }
|
139 |
+
|
140 |
+
.mo2f_tour_btn-info {
|
141 |
+
color: #fff;
|
142 |
+
background-color: #17a2b8;
|
143 |
+
border-color: #17a2b8; }
|
144 |
+
.mo2f_tour_btn-info:hover {
|
145 |
+
color: #fff;
|
146 |
+
background-color: #138496;
|
147 |
+
border-color: #117a8b; }
|
148 |
+
.mo2f_tour_btn-info:focus, .mo2f_tour_btn-info.focus {
|
149 |
+
box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5); }
|
150 |
+
.mo2f_tour_btn-info.disabled, .mo2f_tour_btn-info:disabled {
|
151 |
+
background-color: #17a2b8;
|
152 |
+
border-color: #17a2b8; }
|
153 |
+
.mo2f_tour_btn-info:active, .mo2f_tour_btn-info.active,
|
154 |
+
.show > .mo2f_tour_btn-info.dropdown-toggle {
|
155 |
+
background-color: #138496;
|
156 |
+
background-image: none;
|
157 |
+
border-color: #117a8b; }
|
158 |
+
|
159 |
+
.mo2f_tour_btn-warning {
|
160 |
+
color: #111;
|
161 |
+
background-color: #ffc107;
|
162 |
+
border-color: #ffc107; }
|
163 |
+
.mo2f_tour_btn-warning:hover {
|
164 |
+
color: #111;
|
165 |
+
background-color: #e0a800;
|
166 |
+
border-color: #d39e00; }
|
167 |
+
.mo2f_tour_btn-warning:focus, .mo2f_tour_btn-warning.focus {
|
168 |
+
box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5); }
|
169 |
+
.mo2f_tour_btn-warning.disabled, .mo2f_tour_btn-warning:disabled {
|
170 |
+
background-color: #ffc107;
|
171 |
+
border-color: #ffc107; }
|
172 |
+
.mo2f_tour_btn-warning:active, .mo2f_tour_btn-warning.active,
|
173 |
+
.show > .mo2f_tour_btn-warning.dropdown-toggle {
|
174 |
+
background-color: #e0a800;
|
175 |
+
background-image: none;
|
176 |
+
border-color: #d39e00; }
|
177 |
+
|
178 |
+
.mo2f_tour_btn-danger {
|
179 |
+
color: #fff;
|
180 |
+
background-color: #dc3545;
|
181 |
+
border-color: #dc3545; }
|
182 |
+
.mo2f_tour_btn-danger:hover {
|
183 |
+
color: #fff;
|
184 |
+
background-color: #c82333;
|
185 |
+
border-color: #bd2130; }
|
186 |
+
.mo2f_tour_btn-danger:focus, .mo2f_tour_btn-danger.focus {
|
187 |
+
box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5); }
|
188 |
+
.mo2f_tour_btn-danger.disabled, .mo2f_tour_btn-danger:disabled {
|
189 |
+
background-color: #dc3545;
|
190 |
+
border-color: #dc3545; }
|
191 |
+
.mo2f_tour_btn-danger:active, .mo2f_tour_btn-danger.active,
|
192 |
+
.show > .mo2f_tour_btn-danger.dropdown-toggle {
|
193 |
+
background-color: #c82333;
|
194 |
+
background-image: none;
|
195 |
+
border-color: #bd2130; }
|
196 |
+
|
197 |
+
.mo2f_tour_btn-light {
|
198 |
+
color: #111;
|
199 |
+
background-color: #f8f9fa;
|
200 |
+
border-color: #f8f9fa; }
|
201 |
+
.mo2f_tour_btn-light:hover {
|
202 |
+
color: #111;
|
203 |
+
background-color: #e2e6ea;
|
204 |
+
border-color: #dae0e5; }
|
205 |
+
.mo2f_tour_btn-light:focus, .mo2f_tour_btn-light.focus {
|
206 |
+
box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5); }
|
207 |
+
.mo2f_tour_btn-light.disabled, .mo2f_tour_btn-light:disabled {
|
208 |
+
background-color: #f8f9fa;
|
209 |
+
border-color: #f8f9fa; }
|
210 |
+
.mo2f_tour_btn-light:active, .mo2f_tour_btn-light.active,
|
211 |
+
.show > .mo2f_tour_btn-light.dropdown-toggle {
|
212 |
+
background-color: #e2e6ea;
|
213 |
+
background-image: none;
|
214 |
+
border-color: #dae0e5; }
|
215 |
+
|
216 |
+
.mo2f_tour_btn-dark {
|
217 |
+
color: #fff;
|
218 |
+
background-color: #343a40;
|
219 |
+
border-color: #343a40; }
|
220 |
+
.mo2f_tour_btn-dark:hover {
|
221 |
+
color: #fff;
|
222 |
+
background-color: #23272b;
|
223 |
+
border-color: #1d2124; }
|
224 |
+
.mo2f_tour_btn-dark:focus, .mo2f_tour_btn-dark.focus {
|
225 |
+
box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5); }
|
226 |
+
.mo2f_tour_btn-dark.disabled, .mo2f_tour_btn-dark:disabled {
|
227 |
+
background-color: #343a40;
|
228 |
+
border-color: #343a40; }
|
229 |
+
.mo2f_tour_btn-dark:active, .mo2f_tour_btn-dark.active,
|
230 |
+
.show > .mo2f_tour_btn-dark.dropdown-toggle {
|
231 |
+
background-color: #23272b;
|
232 |
+
background-image: none;
|
233 |
+
border-color: #1d2124; }
|
234 |
+
|
235 |
+
.mo2f_tour_btn-outline-primary {
|
236 |
+
color: #007bff;
|
237 |
+
background-color: transparent;
|
238 |
+
background-image: none;
|
239 |
+
border-color: #007bff; }
|
240 |
+
.mo2f_tour_btn-outline-primary:hover {
|
241 |
+
color: #fff;
|
242 |
+
background-color: #007bff;
|
243 |
+
border-color: #007bff; }
|
244 |
+
.mo2f_tour_btn-outline-primary:focus, .mo2f_tour_btn-outline-primary.focus {
|
245 |
+
box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5); }
|
246 |
+
.mo2f_tour_btn-outline-primary.disabled, .mo2f_tour_btn-outline-primary:disabled {
|
247 |
+
color: #007bff;
|
248 |
+
background-color: transparent; }
|
249 |
+
.mo2f_tour_btn-outline-primary:active, .mo2f_tour_btn-outline-primary.active,
|
250 |
+
.show > .mo2f_tour_btn-outline-primary.dropdown-toggle {
|
251 |
+
color: #fff;
|
252 |
+
background-color: #007bff;
|
253 |
+
border-color: #007bff; }
|
254 |
+
|
255 |
+
.mo2f_tour_btn-outline-secondary {
|
256 |
+
color: #868e96;
|
257 |
+
background-color: transparent;
|
258 |
+
background-image: none;
|
259 |
+
border-color: #868e96; }
|
260 |
+
.mo2f_tour_btn-outline-secondary:hover {
|
261 |
+
color: #fff;
|
262 |
+
background-color: #868e96;
|
263 |
+
border-color: #868e96; }
|
264 |
+
.mo2f_tour_btn-outline-secondary:focus, .mo2f_tour_btn-outline-secondary.focus {
|
265 |
+
box-shadow: 0 0 0 3px rgba(134, 142, 150, 0.5); }
|
266 |
+
.mo2f_tour_btn-outline-secondary.disabled, .mo2f_tour_btn-outline-secondary:disabled {
|
267 |
+
color: #868e96;
|
268 |
+
background-color: transparent; }
|
269 |
+
.mo2f_tour_btn-outline-secondary:active, .mo2f_tour_btn-outline-secondary.active,
|
270 |
+
.show > .mo2f_tour_btn-outline-secondary.dropdown-toggle {
|
271 |
+
color: #fff;
|
272 |
+
background-color: #868e96;
|
273 |
+
border-color: #868e96; }
|
274 |
+
|
275 |
+
.mo2f_tour_btn-outline-success {
|
276 |
+
color: #28a745;
|
277 |
+
background-color: transparent;
|
278 |
+
background-image: none;
|
279 |
+
border-color: #28a745; }
|
280 |
+
.mo2f_tour_btn-outline-success:hover {
|
281 |
+
color: #fff;
|
282 |
+
background-color: #28a745;
|
283 |
+
border-color: #28a745; }
|
284 |
+
.mo2f_tour_btn-outline-success:focus, .mo2f_tour_btn-outline-success.focus {
|
285 |
+
box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.5); }
|
286 |
+
.mo2f_tour_btn-outline-success.disabled, .mo2f_tour_btn-outline-success:disabled {
|
287 |
+
color: #28a745;
|
288 |
+
background-color: transparent; }
|
289 |
+
.mo2f_tour_btn-outline-success:active, .mo2f_tour_btn-outline-success.active,
|
290 |
+
.show > .mo2f_tour_btn-outline-success.dropdown-toggle {
|
291 |
+
color: #fff;
|
292 |
+
background-color: #28a745;
|
293 |
+
border-color: #28a745; }
|
294 |
+
|
295 |
+
.mo2f_tour_btn-outline-info {
|
296 |
+
color: #17a2b8;
|
297 |
+
background-color: transparent;
|
298 |
+
background-image: none;
|
299 |
+
border-color: #17a2b8; }
|
300 |
+
.mo2f_tour_btn-outline-info:hover {
|
301 |
+
color: #fff;
|
302 |
+
background-color: #17a2b8;
|
303 |
+
border-color: #17a2b8; }
|
304 |
+
.mo2f_tour_btn-outline-info:focus, .mo2f_tour_btn-outline-info.focus {
|
305 |
+
box-shadow: 0 0 0 3px rgba(23, 162, 184, 0.5); }
|
306 |
+
.mo2f_tour_btn-outline-info.disabled, .mo2f_tour_btn-outline-info:disabled {
|
307 |
+
color: #17a2b8;
|
308 |
+
background-color: transparent; }
|
309 |
+
.mo2f_tour_btn-outline-info:active, .mo2f_tour_btn-outline-info.active,
|
310 |
+
.show > .mo2f_tour_btn-outline-info.dropdown-toggle {
|
311 |
+
color: #fff;
|
312 |
+
background-color: #17a2b8;
|
313 |
+
border-color: #17a2b8; }
|
314 |
+
|
315 |
+
.mo2f_tour_btn-outline-warning {
|
316 |
+
color: #ffc107;
|
317 |
+
background-color: transparent;
|
318 |
+
background-image: none;
|
319 |
+
border-color: #ffc107; }
|
320 |
+
.mo2f_tour_btn-outline-warning:hover {
|
321 |
+
color: #fff;
|
322 |
+
background-color: #ffc107;
|
323 |
+
border-color: #ffc107; }
|
324 |
+
.mo2f_tour_btn-outline-warning:focus, .mo2f_tour_btn-outline-warning.focus {
|
325 |
+
box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.5); }
|
326 |
+
.mo2f_tour_btn-outline-warning.disabled, .mo2f_tour_btn-outline-warning:disabled {
|
327 |
+
color: #ffc107;
|
328 |
+
background-color: transparent; }
|
329 |
+
.mo2f_tour_btn-outline-warning:active, .mo2f_tour_btn-outline-warning.active,
|
330 |
+
.show > .mo2f_tour_btn-outline-warning.dropdown-toggle {
|
331 |
+
color: #fff;
|
332 |
+
background-color: #ffc107;
|
333 |
+
border-color: #ffc107; }
|
334 |
+
|
335 |
+
.mo2f_tour_btn-outline-danger {
|
336 |
+
color: #dc3545;
|
337 |
+
background-color: transparent;
|
338 |
+
background-image: none;
|
339 |
+
border-color: #dc3545; }
|
340 |
+
.mo2f_tour_btn-outline-danger:hover {
|
341 |
+
color: #fff;
|
342 |
+
background-color: #dc3545;
|
343 |
+
border-color: #dc3545; }
|
344 |
+
.mo2f_tour_btn-outline-danger:focus, .mo2f_tour_btn-outline-danger.focus {
|
345 |
+
box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.5); }
|
346 |
+
.mo2f_tour_btn-outline-danger.disabled, .mo2f_tour_btn-outline-danger:disabled {
|
347 |
+
color: #dc3545;
|
348 |
+
background-color: transparent; }
|
349 |
+
.mo2f_tour_btn-outline-danger:active, .mo2f_tour_btn-outline-danger.active,
|
350 |
+
.show > .mo2f_tour_btn-outline-danger.dropdown-toggle {
|
351 |
+
color: #fff;
|
352 |
+
background-color: #dc3545;
|
353 |
+
border-color: #dc3545; }
|
354 |
+
|
355 |
+
.mo2f_tour_btn-outline-light {
|
356 |
+
color: #f8f9fa;
|
357 |
+
background-color: transparent;
|
358 |
+
background-image: none;
|
359 |
+
border-color: #f8f9fa; }
|
360 |
+
.mo2f_tour_btn-outline-light:hover {
|
361 |
+
color: #fff;
|
362 |
+
background-color: #f8f9fa;
|
363 |
+
border-color: #f8f9fa; }
|
364 |
+
.mo2f_tour_btn-outline-light:focus, .mo2f_tour_btn-outline-light.focus {
|
365 |
+
box-shadow: 0 0 0 3px rgba(248, 249, 250, 0.5); }
|
366 |
+
.mo2f_tour_btn-outline-light.disabled, .mo2f_tour_btn-outline-light:disabled {
|
367 |
+
color: #f8f9fa;
|
368 |
+
background-color: transparent; }
|
369 |
+
.mo2f_tour_btn-outline-light:active, .mo2f_tour_btn-outline-light.active,
|
370 |
+
.show > .mo2f_tour_btn-outline-light.dropdown-toggle {
|
371 |
+
color: #fff;
|
372 |
+
background-color: #f8f9fa;
|
373 |
+
border-color: #f8f9fa; }
|
374 |
+
|
375 |
+
.mo2f_tour_btn-outline-dark {
|
376 |
+
color: #343a40;
|
377 |
+
background-color: transparent;
|
378 |
+
background-image: none;
|
379 |
+
border-color: #343a40; }
|
380 |
+
.mo2f_tour_btn-outline-dark:hover {
|
381 |
+
color: #fff;
|
382 |
+
background-color: #343a40;
|
383 |
+
border-color: #343a40; }
|
384 |
+
.mo2f_tour_btn-outline-dark:focus, .mo2f_tour_btn-outline-dark.focus {
|
385 |
+
box-shadow: 0 0 0 3px rgba(52, 58, 64, 0.5); }
|
386 |
+
.mo2f_tour_btn-outline-dark.disabled, .mo2f_tour_btn-outline-dark:disabled {
|
387 |
+
color: #343a40;
|
388 |
+
background-color: transparent; }
|
389 |
+
.mo2f_tour_btn-outline-dark:active, .mo2f_tour_btn-outline-dark.active,
|
390 |
+
.show > .mo2f_tour_btn-outline-dark.dropdown-toggle {
|
391 |
+
color: #fff;
|
392 |
+
background-color: #343a40;
|
393 |
+
border-color: #343a40; }
|
394 |
+
|
395 |
+
.mo2f_tour_btn-link {
|
396 |
+
font-weight: normal;
|
397 |
+
color: #007bff;
|
398 |
+
border-radius: 0; }
|
399 |
+
.mo2f_tour_btn-link, .mo2f_tour_btn-link:active, .mo2f_tour_btn-link.active, .mo2f_tour_btn-link:disabled {
|
400 |
+
background-color: transparent; }
|
401 |
+
.mo2f_tour_btn-link, .mo2f_tour_btn-link:focus, .mo2f_tour_btn-link:active {
|
402 |
+
border-color: transparent;
|
403 |
+
box-shadow: none; }
|
404 |
+
.mo2f_tour_btn-link:hover {
|
405 |
+
border-color: transparent; }
|
406 |
+
.mo2f_tour_btn-link:focus, .mo2f_tour_btn-link:hover {
|
407 |
+
color: #0056b3;
|
408 |
+
text-decoration: underline;
|
409 |
+
background-color: transparent; }
|
410 |
+
.mo2f_tour_btn-link:disabled {
|
411 |
+
color: #868e96; }
|
412 |
+
.mo2f_tour_btn-link:disabled:focus, .mo2f_tour_btn-link:disabled:hover {
|
413 |
+
text-decoration: none; }
|
414 |
+
|
415 |
+
.mo2f_tour_btn-lg, .mo2f_tour_btn-group-lg > .mo2f_tour_btn {
|
416 |
+
padding: 0.5rem 1rem;
|
417 |
+
font-size: 1.25rem;
|
418 |
+
line-height: 1.5;
|
419 |
+
border-radius: 0.3rem; }
|
420 |
+
|
421 |
+
.mo2f_tour_btn-sm, .mo2f_tour_btn-group-sm > .mo2f_tour_btn {
|
422 |
+
padding: 0.25rem 0.5rem;
|
423 |
+
font-size: 0.875rem;
|
424 |
+
line-height: 1.5;
|
425 |
+
border-radius: 0.2rem; }
|
426 |
+
|
427 |
+
.mo2f_tour_btn-block {
|
428 |
+
display: block;
|
429 |
+
width: 100%; }
|
430 |
+
|
431 |
+
.mo2f_tour_btn-block + .mo2f_tour_btn-block {
|
432 |
+
margin-top: 0.5rem; }
|
433 |
+
|
434 |
+
input[type="submit"].mo2f_tour_btn-block,
|
435 |
+
input[type="reset"].mo2f_tour_btn-block,
|
436 |
+
input[type="button"].mo2f_tour_btn-block {
|
437 |
+
width: 100%; }
|
438 |
+
|
439 |
+
.fade {
|
440 |
+
opacity: 0;
|
441 |
+
transition: opacity 0.15s linear; }
|
442 |
+
.fade.show {
|
443 |
+
opacity: 1; }
|
444 |
+
|
445 |
+
.mo2f_collapse {
|
446 |
+
display: none; }
|
447 |
+
.mo2f_collapse.show {
|
448 |
+
display: block; }
|
449 |
+
|
450 |
+
tr.mo2f_collapse.show {
|
451 |
+
display: table-row; }
|
452 |
+
|
453 |
+
tbody.mo2f_collapse.show {
|
454 |
+
display: table-row-group; }
|
455 |
+
|
456 |
+
.collapsing {
|
457 |
+
position: relative;
|
458 |
+
height: 0;
|
459 |
+
overflow: hidden;
|
460 |
+
transition: height 0.35s ease; }
|
461 |
+
|
462 |
+
.mo2f_tour_btn-group,
|
463 |
+
.mo2f_tour_btn-group-vertical {
|
464 |
+
position: relative;
|
465 |
+
display: inline-flex;
|
466 |
+
vertical-align: middle; }
|
467 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn,
|
468 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn {
|
469 |
+
position: relative;
|
470 |
+
flex: 0 1 auto;
|
471 |
+
margin-bottom: 0; }
|
472 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn:hover,
|
473 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn:hover {
|
474 |
+
z-index: 2; }
|
475 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn:focus, .mo2f_tour_btn-group > .mo2f_tour_btn:active, .mo2f_tour_btn-group > .mo2f_tour_btn.active,
|
476 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn:focus,
|
477 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn:active,
|
478 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn.active {
|
479 |
+
z-index: 2; }
|
480 |
+
.mo2f_tour_btn-group .mo2f_tour_btn + .mo2f_tour_btn,
|
481 |
+
.mo2f_tour_btn-group .mo2f_tour_btn + .mo2f_tour_btn-group,
|
482 |
+
.mo2f_tour_btn-group .mo2f_tour_btn-group + .mo2f_tour_btn,
|
483 |
+
.mo2f_tour_btn-group .mo2f_tour_btn-group + .mo2f_tour_btn-group,
|
484 |
+
.mo2f_tour_btn-group-vertical .mo2f_tour_btn + .mo2f_tour_btn,
|
485 |
+
.mo2f_tour_btn-group-vertical .mo2f_tour_btn + .mo2f_tour_btn-group,
|
486 |
+
.mo2f_tour_btn-group-vertical .mo2f_tour_btn-group + .mo2f_tour_btn,
|
487 |
+
.mo2f_tour_btn-group-vertical .mo2f_tour_btn-group + .mo2f_tour_btn-group {
|
488 |
+
margin-left: -1px; }
|
489 |
+
|
490 |
+
.mo2f_tour_btn-toolbar {
|
491 |
+
display: flex;
|
492 |
+
flex-wrap: wrap;
|
493 |
+
justify-content: flex-start; }
|
494 |
+
.mo2f_tour_btn-toolbar .input-group {
|
495 |
+
width: auto; }
|
496 |
+
|
497 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
|
498 |
+
border-radius: 0; }
|
499 |
+
|
500 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn:first-child {
|
501 |
+
margin-left: 0; }
|
502 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn:first-child:not(:last-child):not(.dropdown-toggle) {
|
503 |
+
border-top-right-radius: 0;
|
504 |
+
border-bottom-right-radius: 0; }
|
505 |
+
|
506 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn:last-child:not(:first-child),
|
507 |
+
.mo2f_tour_btn-group > .dropdown-toggle:not(:first-child) {
|
508 |
+
border-top-left-radius: 0;
|
509 |
+
border-bottom-left-radius: 0; }
|
510 |
+
|
511 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn-group {
|
512 |
+
float: left; }
|
513 |
+
|
514 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn-group:not(:first-child):not(:last-child) > .mo2f_tour_btn {
|
515 |
+
border-radius: 0; }
|
516 |
+
|
517 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn-group:first-child:not(:last-child) > .mo2f_tour_btn:last-child,
|
518 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn-group:first-child:not(:last-child) > .dropdown-toggle {
|
519 |
+
border-top-right-radius: 0;
|
520 |
+
border-bottom-right-radius: 0; }
|
521 |
+
|
522 |
+
.mo2f_tour_btn-group > .mo2f_tour_btn-group:last-child:not(:first-child) > .mo2f_tour_btn:first-child {
|
523 |
+
border-top-left-radius: 0;
|
524 |
+
border-bottom-left-radius: 0; }
|
525 |
+
|
526 |
+
.mo2f_tour_btn + .dropdown-toggle-split {
|
527 |
+
padding-right: 0.5625rem;
|
528 |
+
padding-left: 0.5625rem; }
|
529 |
+
.mo2f_tour_btn + .dropdown-toggle-split::after {
|
530 |
+
margin-left: 0; }
|
531 |
+
|
532 |
+
.mo2f_tour_btn-sm + .dropdown-toggle-split, .mo2f_tour_btn-group-sm > .mo2f_tour_btn + .dropdown-toggle-split {
|
533 |
+
padding-right: 0.375rem;
|
534 |
+
padding-left: 0.375rem; }
|
535 |
+
|
536 |
+
.mo2f_tour_btn-lg + .dropdown-toggle-split, .mo2f_tour_btn-group-lg > .mo2f_tour_btn + .dropdown-toggle-split {
|
537 |
+
padding-right: 0.75rem;
|
538 |
+
padding-left: 0.75rem; }
|
539 |
+
|
540 |
+
.mo2f_tour_btn-group-vertical {
|
541 |
+
display: inline-flex;
|
542 |
+
flex-direction: column;
|
543 |
+
align-items: flex-start;
|
544 |
+
justify-content: center; }
|
545 |
+
.mo2f_tour_btn-group-vertical .mo2f_tour_btn,
|
546 |
+
.mo2f_tour_btn-group-vertical .mo2f_tour_btn-group {
|
547 |
+
width: 100%; }
|
548 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn + .mo2f_tour_btn,
|
549 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn + .mo2f_tour_btn-group,
|
550 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn-group + .mo2f_tour_btn,
|
551 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn-group + .mo2f_tour_btn-group {
|
552 |
+
margin-top: -1px;
|
553 |
+
margin-left: 0; }
|
554 |
+
|
555 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn:not(:first-child):not(:last-child) {
|
556 |
+
border-radius: 0; }
|
557 |
+
|
558 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn:first-child:not(:last-child) {
|
559 |
+
border-bottom-right-radius: 0;
|
560 |
+
border-bottom-left-radius: 0; }
|
561 |
+
|
562 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn:last-child:not(:first-child) {
|
563 |
+
border-top-left-radius: 0;
|
564 |
+
border-top-right-radius: 0; }
|
565 |
+
|
566 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn-group:not(:first-child):not(:last-child) > .mo2f_tour_btn {
|
567 |
+
border-radius: 0; }
|
568 |
+
|
569 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn-group:first-child:not(:last-child) > .mo2f_tour_btn:last-child,
|
570 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn-group:first-child:not(:last-child) > .dropdown-toggle {
|
571 |
+
border-bottom-right-radius: 0;
|
572 |
+
border-bottom-left-radius: 0; }
|
573 |
+
|
574 |
+
.mo2f_tour_btn-group-vertical > .mo2f_tour_btn-group:last-child:not(:first-child) > .mo2f_tour_btn:first-child {
|
575 |
+
border-top-left-radius: 0;
|
576 |
+
border-top-right-radius: 0; }
|
577 |
+
|
578 |
+
[data-toggle="buttons"] > .mo2f_tour_btn input[type="radio"],
|
579 |
+
[data-toggle="buttons"] > .mo2f_tour_btn input[type="checkbox"],
|
580 |
+
[data-toggle="buttons"] > .mo2f_tour_btn-group > .mo2f_tour_btn input[type="radio"],
|
581 |
+
[data-toggle="buttons"] > .mo2f_tour_btn-group > .btn input[type="checkbox"] {
|
582 |
+
position: absolute;
|
583 |
+
clip: rect(0, 0, 0, 0);
|
584 |
+
pointer-events: none; }
|
585 |
+
|
586 |
+
.mo2f_popover {
|
587 |
+
position: absolute;
|
588 |
+
top: 0;
|
589 |
+
left: 0;
|
590 |
+
z-index: 1060;
|
591 |
+
display: block;
|
592 |
+
max-width: 276px;
|
593 |
+
padding: 1px;
|
594 |
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
595 |
+
font-style: normal;
|
596 |
+
font-weight: normal;
|
597 |
+
line-height: 1.5;
|
598 |
+
text-align: left;
|
599 |
+
text-align: start;
|
600 |
+
text-decoration: none;
|
601 |
+
text-shadow: none;
|
602 |
+
text-transform: none;
|
603 |
+
letter-spacing: normal;
|
604 |
+
word-break: normal;
|
605 |
+
word-spacing: normal;
|
606 |
+
white-space: normal;
|
607 |
+
line-break: auto;
|
608 |
+
font-size: 0.875rem;
|
609 |
+
word-wrap: break-word;
|
610 |
+
background-color: #fff;
|
611 |
+
background-clip: padding-box;
|
612 |
+
border: 1px solid rgba(0, 0, 0, 0.2);
|
613 |
+
border-radius: 0.3rem; }
|
614 |
+
.mo2f_popover .mo2f_arrow {
|
615 |
+
position: absolute;
|
616 |
+
display: block;
|
617 |
+
width: 10px;
|
618 |
+
height: 5px;
|
619 |
+
|
620 |
+
}
|
621 |
+
.mo2f_popover .mo2f_arrow::before,
|
622 |
+
.mo2f_popover .mo2f_arrow::after {
|
623 |
+
position: absolute;
|
624 |
+
display: block;
|
625 |
+
border-color:transparent;
|
626 |
+
border-style: solid; }
|
627 |
+
.mo2f_popover .mo2f_arrow::before {
|
628 |
+
content: "";
|
629 |
+
border-width: 11px;
|
630 |
+
}
|
631 |
+
.mo2f_popover .mo2f_arrow::after {
|
632 |
+
content: "";
|
633 |
+
border-width: 11px;
|
634 |
+
|
635 |
+
}
|
636 |
+
.mo2f_popover.bs-mo2f_popover-top, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="top"] {
|
637 |
+
margin-bottom: 10px; }
|
638 |
+
.mo2f_popover.bs-mo2f_popover-top .mo2f_arrow, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="top"] .mo2f_arrow {
|
639 |
+
bottom: 0; }
|
640 |
+
.mo2f_popover.bs-mo2f_popover-top .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="top"] .mo2f_arrow::before,
|
641 |
+
.mo2f_popover.bs-mo2f_popover-top .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="top"] .mo2f_arrow::after {
|
642 |
+
|
643 |
+
border-bottom-width: 0; }
|
644 |
+
.mo2f_popover.bs-mo2f_popover-top .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="top"] .mo2f_arrow::before {
|
645 |
+
bottom: -11px;
|
646 |
+
margin-left: -6px;
|
647 |
+
border-top-color: rgba(0, 0, 0, 0.25); }
|
648 |
+
.mo2f_popover.bs-mo2f_popover-top .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="top"] .mo2f_arrow::after {
|
649 |
+
bottom: -10px;
|
650 |
+
margin-left: -6px;
|
651 |
+
border-top-color: #fff;
|
652 |
+
}
|
653 |
+
.mo2f_popover.bs-mo2f_popover-right, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="right"] {
|
654 |
+
|
655 |
+
margin-left: 10px; }
|
656 |
+
.mo2f_popover.bs-mo2f_popover-right .mo2f_arrow, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="right"] .mo2f_arrow {
|
657 |
+
left: 0; }
|
658 |
+
.mo2f_popover.bs-mo2f_popover-right .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="right"] .mo2f_arrow::before,
|
659 |
+
.mo2f_popover.bs-mo2f_popover-right .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="right"] .mo2f_arrow::after {
|
660 |
+
margin-top: -8px;
|
661 |
+
border-left-width: 0;
|
662 |
+
}
|
663 |
+
.mo2f_popover.bs-mo2f_popover-right .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="right"] .mo2f_arrow::before {
|
664 |
+
left: -11px;
|
665 |
+
border-right-color: rgba(0, 0, 0, 0.25); }
|
666 |
+
.mo2f_popover.bs-mo2f_popover-right .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="right"] .mo2f_arrow::after {
|
667 |
+
left: -10px;
|
668 |
+
border-right-color: #fff;
|
669 |
+
}
|
670 |
+
.mo2f_popover.bs-mo2f_popover-bottom, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="bottom"] {
|
671 |
+
margin-top: 10px; }
|
672 |
+
.mo2f_popover.bs-mo2f_popover-bottom .mo2f_arrow, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="bottom"] .mo2f_arrow {
|
673 |
+
top: 0; }
|
674 |
+
.mo2f_popover.bs-mo2f_popover-bottom .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="bottom"] .mo2f_arrow::before,
|
675 |
+
.mo2f_popover.bs-mo2f_popover-bottom .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="bottom"] .mo2f_arrow::after {
|
676 |
+
margin-left: -7px;
|
677 |
+
border-top-width: 0;
|
678 |
+
|
679 |
+
}
|
680 |
+
.mo2f_popover.bs-mo2f_popover-bottom .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="bottom"] .mo2f_arrow::before {
|
681 |
+
top: -11px;
|
682 |
+
border-bottom-color: rgba(0, 0, 0, 0.25); }
|
683 |
+
.mo2f_popover.bs-mo2f_popover-bottom .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="bottom"] .mo2f_arrow::after {
|
684 |
+
top: -10px;
|
685 |
+
border-bottom-color: #fff;
|
686 |
+
|
687 |
+
}
|
688 |
+
.mo2f_popover.bs-mo2f_popover-bottom .mo2f_popover-header::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="bottom"] .mo2f_popover-header::before {
|
689 |
+
position: absolute;
|
690 |
+
top: 0;
|
691 |
+
left: 50%;
|
692 |
+
display: block;
|
693 |
+
width: 20px;
|
694 |
+
margin-left: -10px;
|
695 |
+
content: "";
|
696 |
+
border-bottom: 1px solid #f7f7f7; }
|
697 |
+
.mo2f_popover.bs-mo2f_popover-left, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="left"] {
|
698 |
+
margin-right: 10px; }
|
699 |
+
.mo2f_popover.bs-mo2f_popover-left .mo2f_arrow, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="left"] .mo2f_arrow {
|
700 |
+
right: 0;
|
701 |
+
|
702 |
+
}
|
703 |
+
.mo2f_popover.bs-mo2f_popover-left .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="left"] .mo2f_arrow::before,
|
704 |
+
.mo2f_popover.bs-mo2f_popover-left .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="left"] .mo2f_arrow::after {
|
705 |
+
margin-top: -8px;
|
706 |
+
border-right-width: 0;
|
707 |
+
}
|
708 |
+
.mo2f_popover.bs-mo2f_popover-left .mo2f_arrow::before, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="left"] .mo2f_arrow::before {
|
709 |
+
right: -11px;
|
710 |
+
border-left-color: rgba(0, 0, 0, 0.25); }
|
711 |
+
.mo2f_popover.bs-mo2f_popover-left .mo2f_arrow::after, .mo2f_popover.bs-mo2f_popover-auto[x-placement^="left"] .mo2f_arrow::after {
|
712 |
+
right: -10px;
|
713 |
+
border-left-color: #fff;
|
714 |
+
}
|
715 |
+
|
716 |
+
.mo2f_popover-header {
|
717 |
+
padding: 8px 14px;
|
718 |
+
margin-bottom: 0;
|
719 |
+
font-size: 1rem;
|
720 |
+
color: #FFF;
|
721 |
+
background-color: #000;
|
722 |
+
border-bottom: 1px solid #ebebeb;
|
723 |
+
border-top-left-radius: calc(0.3rem - 1px);
|
724 |
+
border-top-right-radius: calc(0.3rem - 1px);
|
725 |
+
}
|
726 |
+
.mo2f_popover-header:empty {
|
727 |
+
display: none; }
|
728 |
+
|
729 |
+
.mo2f_popover-body {
|
730 |
+
padding: 9px 14px;
|
731 |
+
color: #212529; }
|
732 |
+
|
733 |
+
.tour-backdrop {
|
734 |
+
background-color: #000;
|
735 |
+
filter: alpha(opacity=80);
|
736 |
+
opacity: .4;
|
737 |
+
position: absolute;
|
738 |
+
z-index: 1100; }
|
739 |
+
|
740 |
+
.mo2f_popover[class*="tour-"] {
|
741 |
+
z-index: 1102; }
|
742 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation {
|
743 |
+
overflow: hidden;
|
744 |
+
padding: 9px 14px; }
|
745 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation *[data-role="end"] {
|
746 |
+
float: right; }
|
747 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation *[data-role="prev"],
|
748 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation *[data-role="next"],
|
749 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation *[data-role="end"] {
|
750 |
+
cursor: pointer; }
|
751 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation *[data-role="prev"].disabled,
|
752 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation *[data-role="next"].disabled,
|
753 |
+
.mo2f_popover[class*="tour-"] .mo2f_popover-navigation *[data-role="end"].disabled {
|
754 |
+
cursor: default; }
|
755 |
+
.mo2f_popover[class*="tour-"].orphan {
|
756 |
+
left: 50%;
|
757 |
+
margin-top: 0;
|
758 |
+
position: fixed;
|
759 |
+
top: 50%;
|
760 |
+
transform: translate(-50%, -50%); }
|
761 |
+
.mo2f_popover[class*="tour-"].orphan .mo2f_arrow {
|
762 |
+
display: none; }
|
includes/css/bootstrap.min.css
CHANGED
@@ -549,4 +549,3 @@ p .button {
|
|
549 |
box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
|
550 |
vertical-align: top;
|
551 |
}
|
552 |
-
|
549 |
box-shadow: inset 0 1px 0 rgba(0,0,0,0.1);
|
550 |
vertical-align: top;
|
551 |
}
|
|
includes/css/mo_openid_feedback.css
CHANGED
@@ -1,21 +1,23 @@
|
|
1 |
-
.
|
2 |
display: none;
|
3 |
position: fixed;
|
4 |
z-index: 1;
|
5 |
padding-top: 100px;
|
6 |
-
left:
|
7 |
top: 0;
|
8 |
-
|
9 |
-
width: 50%;
|
10 |
height: 100%;
|
|
|
|
|
|
|
11 |
|
12 |
}
|
13 |
-
.
|
14 |
background-color: #fefefe;
|
15 |
margin: auto;
|
16 |
padding: 20px;
|
17 |
border: 1px solid #888;
|
18 |
-
width:
|
19 |
}
|
20 |
|
21 |
.mo_openid_close {
|
1 |
+
.mo_openid_modal1 {
|
2 |
display: none;
|
3 |
position: fixed;
|
4 |
z-index: 1;
|
5 |
padding-top: 100px;
|
6 |
+
left: 0;
|
7 |
top: 0;
|
8 |
+
width: 100%; /* Full width */
|
|
|
9 |
height: 100%;
|
10 |
+
background-color: rgb(0,0,0); /* Fallback color */
|
11 |
+
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
12 |
+
|
13 |
|
14 |
}
|
15 |
+
.mo_openid_modal1-content {
|
16 |
background-color: #fefefe;
|
17 |
margin: auto;
|
18 |
padding: 20px;
|
19 |
border: 1px solid #888;
|
20 |
+
width: 30%;
|
21 |
}
|
22 |
|
23 |
.mo_openid_close {
|
includes/css/mo_openid_style.css
CHANGED
@@ -1,3 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.dis{
|
2 |
pointer-events: none;
|
3 |
}
|
@@ -6,7 +70,6 @@
|
|
6 |
display: inline-block;
|
7 |
opacity:1;
|
8 |
|
9 |
-
|
10 |
}
|
11 |
|
12 |
.tooltip .tooltiptext {
|
@@ -519,4 +582,4 @@ aside.widget-area>section.widget_mo_openid_sharing_hor_wid>div.mo-openid-app-ico
|
|
519 |
}
|
520 |
.mo-tomato {
|
521 |
color: tomato;
|
522 |
-
}
|
1 |
+
.mo_openid_modal {
|
2 |
+
|
3 |
+
position: fixed; /* Stay in place */
|
4 |
+
z-index: 1; /* Sit on top */
|
5 |
+
padding-top: 100px; /* Location of the box */
|
6 |
+
left: 0;
|
7 |
+
top: 0;
|
8 |
+
width: 100%; /* Full width */
|
9 |
+
overflow: auto; /* Enable scroll if needed */
|
10 |
+
background-color: rgb(0,0,0); /* Fallback color */
|
11 |
+
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
12 |
+
height: 100%;
|
13 |
+
-webkit-border-radius: 10px !important;
|
14 |
+
-moz-border-radius: 10px !important;
|
15 |
+
border-radius: 10px !important;
|
16 |
+
|
17 |
+
}
|
18 |
+
|
19 |
+
.mo_openid_modal-content {
|
20 |
+
background-color: #F2F3F7;
|
21 |
+
margin: auto;
|
22 |
+
padding: 20px;
|
23 |
+
border: 1px solid #888;
|
24 |
+
width: 55%;
|
25 |
+
-webkit-animation-name: animatetop;
|
26 |
+
-webkit-animation-duration: 1s;
|
27 |
+
animation-name: animatetop;
|
28 |
+
animation-duration: 1s;
|
29 |
+
|
30 |
+
}
|
31 |
+
@-webkit-keyframes animatetop {
|
32 |
+
from {top:-300px; opacity:0}
|
33 |
+
to {top:0; opacity:1}
|
34 |
+
}
|
35 |
+
|
36 |
+
@keyframes animatetop {
|
37 |
+
from {top:-300px; opacity:0}
|
38 |
+
to {top:0; opacity:1}
|
39 |
+
}
|
40 |
+
.modal-head {
|
41 |
+
padding: 2px 16px;
|
42 |
+
background-color: #B9BCC7;
|
43 |
+
color: white;
|
44 |
+
}
|
45 |
+
.mo_close {
|
46 |
+
color: #aaaaaa;
|
47 |
+
float: right;
|
48 |
+
font-size: 28px;
|
49 |
+
font-weight: bold;
|
50 |
+
}
|
51 |
+
.overlay{
|
52 |
+
position: fixed;
|
53 |
+
top: 0;
|
54 |
+
left: 0;
|
55 |
+
right: 0;
|
56 |
+
bottom: 0;
|
57 |
+
width: 100%;
|
58 |
+
height: 100%;
|
59 |
+
background: #000;
|
60 |
+
opacity: .0;
|
61 |
+
z-index: 1;
|
62 |
+
}
|
63 |
+
|
64 |
+
|
65 |
.dis{
|
66 |
pointer-events: none;
|
67 |
}
|
70 |
display: inline-block;
|
71 |
opacity:1;
|
72 |
|
|
|
73 |
}
|
74 |
|
75 |
.tooltip .tooltiptext {
|
582 |
}
|
583 |
.mo-tomato {
|
584 |
color: tomato;
|
585 |
+
}
|
includes/images/custom_app.png
ADDED
Binary file
|
includes/js/bootstrap-tour-standalone.min.js
ADDED
@@ -0,0 +1,1761 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* ========================================================================
|
2 |
+
* bootstrap-tour - v0.12.0
|
3 |
+
* http://bootstraptour.com
|
4 |
+
* ========================================================================
|
5 |
+
* Copyright 2012-2017 Ulrich Sossou
|
6 |
+
*
|
7 |
+
* ========================================================================
|
8 |
+
* Licensed under the MIT License (the "License");
|
9 |
+
* you may not use this file except in compliance with the License.
|
10 |
+
* You may obtain a copy of the License at
|
11 |
+
*
|
12 |
+
* https://opensource.org/licenses/MIT
|
13 |
+
*
|
14 |
+
* Unless required by applicable law or agreed to in writing, software
|
15 |
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
16 |
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
17 |
+
* See the License for the specific language governing permissions and
|
18 |
+
* limitations under the License.
|
19 |
+
* ========================================================================
|
20 |
+
*/
|
21 |
+
|
22 |
+
function _classCallCheck(t, e) {
|
23 |
+
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
24 |
+
}
|
25 |
+
|
26 |
+
function _classCallCheck(t, e) {
|
27 |
+
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
28 |
+
}
|
29 |
+
|
30 |
+
function _possibleConstructorReturn(t, e) {
|
31 |
+
if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
32 |
+
return !e || "object" != typeof e && "function" != typeof e ? t : e
|
33 |
+
}
|
34 |
+
|
35 |
+
function _inherits(t, e) {
|
36 |
+
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e);
|
37 |
+
t.prototype = Object.create(e && e.prototype, {
|
38 |
+
constructor: {
|
39 |
+
value: t,
|
40 |
+
enumerable: !1,
|
41 |
+
writable: !0,
|
42 |
+
configurable: !0
|
43 |
+
}
|
44 |
+
}), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e)
|
45 |
+
}! function(t, e) {
|
46 |
+
"object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.Popper = e()
|
47 |
+
}(this, function() {
|
48 |
+
"use strict";
|
49 |
+
|
50 |
+
function t(t) {
|
51 |
+
var e = {};
|
52 |
+
return t && "[object Function]" === e.toString.call(t)
|
53 |
+
}
|
54 |
+
|
55 |
+
function e(t, e) {
|
56 |
+
if (1 !== t.nodeType) return [];
|
57 |
+
var n = window.getComputedStyle(t, null);
|
58 |
+
return e ? n[e] : n
|
59 |
+
}
|
60 |
+
|
61 |
+
function n(t) {
|
62 |
+
return "HTML" === t.nodeName ? t : t.parentNode || t.host
|
63 |
+
}
|
64 |
+
|
65 |
+
function o(t) {
|
66 |
+
if (!t || -1 !== ["HTML", "BODY", "#document"].indexOf(t.nodeName)) return window.document.body;
|
67 |
+
var i = e(t),
|
68 |
+
r = i.overflow,
|
69 |
+
s = i.overflowX,
|
70 |
+
a = i.overflowY;
|
71 |
+
return /(auto|scroll)/.test(r + a + s) ? t : o(n(t))
|
72 |
+
}
|
73 |
+
|
74 |
+
function i(t) {
|
75 |
+
var n = t && t.offsetParent,
|
76 |
+
o = n && n.nodeName;
|
77 |
+
return o && "BODY" !== o && "HTML" !== o ? -1 !== ["TD", "TABLE"].indexOf(n.nodeName) && "static" === e(n, "position") ? i(n) : n : window.document.documentElement
|
78 |
+
}
|
79 |
+
|
80 |
+
function r(t) {
|
81 |
+
var e = t.nodeName;
|
82 |
+
return "BODY" !== e && ("HTML" === e || i(t.firstElementChild) === t)
|
83 |
+
}
|
84 |
+
|
85 |
+
function s(t) {
|
86 |
+
return null !== t.parentNode ? s(t.parentNode) : t
|
87 |
+
}
|
88 |
+
|
89 |
+
function a(t, e) {
|
90 |
+
if (!(t && t.nodeType && e && e.nodeType)) return window.document.documentElement;
|
91 |
+
var n = t.compareDocumentPosition(e) & Node.DOCUMENT_POSITION_FOLLOWING,
|
92 |
+
o = n ? t : e,
|
93 |
+
p = n ? e : t,
|
94 |
+
u = document.createRange();
|
95 |
+
u.setStart(o, 0), u.setEnd(p, 0);
|
96 |
+
var l = u.commonAncestorContainer;
|
97 |
+
if (t !== l && e !== l || o.contains(p)) return r(l) ? l : i(l);
|
98 |
+
var c = s(t);
|
99 |
+
return c.host ? a(c.host, e) : a(t, s(e).host)
|
100 |
+
}
|
101 |
+
|
102 |
+
function p(t) {
|
103 |
+
var e = "top" === (arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "top") ? "scrollTop" : "scrollLeft",
|
104 |
+
n = t.nodeName;
|
105 |
+
if ("BODY" === n || "HTML" === n) {
|
106 |
+
var o = window.document.documentElement;
|
107 |
+
return (window.document.scrollingElement || o)[e]
|
108 |
+
}
|
109 |
+
return t[e]
|
110 |
+
}
|
111 |
+
|
112 |
+
function u(t, e) {
|
113 |
+
var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
|
114 |
+
o = p(e, "top"),
|
115 |
+
i = p(e, "left"),
|
116 |
+
r = n ? -1 : 1;
|
117 |
+
return t.top += o * r, t.bottom += o * r, t.left += i * r, t.right += i * r, t
|
118 |
+
}
|
119 |
+
|
120 |
+
function l(t, e) {
|
121 |
+
var n = "x" === e ? "Left" : "Top",
|
122 |
+
o = "Left" === n ? "Right" : "Bottom";
|
123 |
+
return +t["border" + n + "Width"].split("px")[0] + +t["border" + o + "Width"].split("px")[0]
|
124 |
+
}
|
125 |
+
|
126 |
+
function c(t, e, n, o) {
|
127 |
+
return Math.max(e["offset" + t], e["scroll" + t], n["client" + t], n["offset" + t], n["scroll" + t], Z() ? n["offset" + t] + o["margin" + ("Height" === t ? "Top" : "Left")] + o["margin" + ("Height" === t ? "Bottom" : "Right")] : 0)
|
128 |
+
}
|
129 |
+
|
130 |
+
function h() {
|
131 |
+
var t = window.document.body,
|
132 |
+
e = window.document.documentElement,
|
133 |
+
n = Z() && window.getComputedStyle(e);
|
134 |
+
return {
|
135 |
+
height: c("Height", t, e, n),
|
136 |
+
width: c("Width", t, e, n)
|
137 |
+
}
|
138 |
+
}
|
139 |
+
|
140 |
+
function f(t) {
|
141 |
+
return nt({}, t, {
|
142 |
+
right: t.left + t.width,
|
143 |
+
bottom: t.top + t.height
|
144 |
+
})
|
145 |
+
}
|
146 |
+
|
147 |
+
function d(t) {
|
148 |
+
var n = {};
|
149 |
+
if (Z()) try {
|
150 |
+
n = t.getBoundingClientRect();
|
151 |
+
var o = p(t, "top"),
|
152 |
+
i = p(t, "left");
|
153 |
+
n.top += o, n.left += i, n.bottom += o, n.right += i
|
154 |
+
} catch (t) {} else n = t.getBoundingClientRect();
|
155 |
+
var r = {
|
156 |
+
left: n.left,
|
157 |
+
top: n.top,
|
158 |
+
width: n.right - n.left,
|
159 |
+
height: n.bottom - n.top
|
160 |
+
},
|
161 |
+
s = "HTML" === t.nodeName ? h() : {},
|
162 |
+
a = s.width || t.clientWidth || r.right - r.left,
|
163 |
+
u = s.height || t.clientHeight || r.bottom - r.top,
|
164 |
+
c = t.offsetWidth - a,
|
165 |
+
d = t.offsetHeight - u;
|
166 |
+
if (c || d) {
|
167 |
+
var m = e(t);
|
168 |
+
c -= l(m, "x"), d -= l(m, "y"), r.width -= c, r.height -= d
|
169 |
+
}
|
170 |
+
return f(r)
|
171 |
+
}
|
172 |
+
|
173 |
+
function m(t, n) {
|
174 |
+
var i = Z(),
|
175 |
+
r = "HTML" === n.nodeName,
|
176 |
+
s = d(t),
|
177 |
+
a = d(n),
|
178 |
+
p = o(t),
|
179 |
+
l = e(n),
|
180 |
+
c = +l.borderTopWidth.split("px")[0],
|
181 |
+
h = +l.borderLeftWidth.split("px")[0],
|
182 |
+
m = f({
|
183 |
+
top: s.top - a.top - c,
|
184 |
+
left: s.left - a.left - h,
|
185 |
+
width: s.width,
|
186 |
+
height: s.height
|
187 |
+
});
|
188 |
+
if (m.marginTop = 0, m.marginLeft = 0, !i && r) {
|
189 |
+
var g = +l.marginTop.split("px")[0],
|
190 |
+
v = +l.marginLeft.split("px")[0];
|
191 |
+
m.top -= c - g, m.bottom -= c - g, m.left -= h - v, m.right -= h - v, m.marginTop = g, m.marginLeft = v
|
192 |
+
}
|
193 |
+
return (i ? n.contains(p) : n === p && "BODY" !== p.nodeName) && (m = u(m, n)), m
|
194 |
+
}
|
195 |
+
|
196 |
+
function g(t) {
|
197 |
+
var e = window.document.documentElement,
|
198 |
+
n = m(t, e),
|
199 |
+
o = Math.max(e.clientWidth, window.innerWidth || 0),
|
200 |
+
i = Math.max(e.clientHeight, window.innerHeight || 0),
|
201 |
+
r = p(e),
|
202 |
+
s = p(e, "left");
|
203 |
+
return f({
|
204 |
+
top: r - n.top + n.marginTop,
|
205 |
+
left: s - n.left + n.marginLeft,
|
206 |
+
width: o,
|
207 |
+
height: i
|
208 |
+
})
|
209 |
+
}
|
210 |
+
|
211 |
+
function v(t) {
|
212 |
+
var o = t.nodeName;
|
213 |
+
return "BODY" !== o && "HTML" !== o && ("fixed" === e(t, "position") || v(n(t)))
|
214 |
+
}
|
215 |
+
|
216 |
+
function _(t, e, i, r) {
|
217 |
+
var s = {
|
218 |
+
top: 0,
|
219 |
+
left: 0
|
220 |
+
},
|
221 |
+
p = a(t, e);
|
222 |
+
if ("viewport" === r) s = g(p);
|
223 |
+
else {
|
224 |
+
var u = void 0;
|
225 |
+
"scrollParent" === r ? "BODY" === (u = o(n(t))).nodeName && (u = window.document.documentElement) : u = "window" === r ? window.document.documentElement : r;
|
226 |
+
var l = m(u, p);
|
227 |
+
if ("HTML" !== u.nodeName || v(p)) s = l;
|
228 |
+
else {
|
229 |
+
var c = h(),
|
230 |
+
f = c.height,
|
231 |
+
d = c.width;
|
232 |
+
s.top += l.top - l.marginTop, s.bottom = f + l.top, s.left += l.left - l.marginLeft, s.right = d + l.left
|
233 |
+
}
|
234 |
+
}
|
235 |
+
return s.left += i, s.top += i, s.right -= i, s.bottom -= i, s
|
236 |
+
}
|
237 |
+
|
238 |
+
function b(t) {
|
239 |
+
return t.width * t.height
|
240 |
+
}
|
241 |
+
|
242 |
+
function y(t, e, n, o, i) {
|
243 |
+
var r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0;
|
244 |
+
if (-1 === t.indexOf("auto")) return t;
|
245 |
+
var s = _(n, o, r, i),
|
246 |
+
a = {
|
247 |
+
top: {
|
248 |
+
width: s.width,
|
249 |
+
height: e.top - s.top
|
250 |
+
},
|
251 |
+
right: {
|
252 |
+
width: s.right - e.right,
|
253 |
+
height: s.height
|
254 |
+
},
|
255 |
+
bottom: {
|
256 |
+
width: s.width,
|
257 |
+
height: s.bottom - e.bottom
|
258 |
+
},
|
259 |
+
left: {
|
260 |
+
width: e.left - s.left,
|
261 |
+
height: s.height
|
262 |
+
}
|
263 |
+
},
|
264 |
+
p = Object.keys(a).map(function(t) {
|
265 |
+
return nt({
|
266 |
+
key: t
|
267 |
+
}, a[t], {
|
268 |
+
area: b(a[t])
|
269 |
+
})
|
270 |
+
}).sort(function(t, e) {
|
271 |
+
return e.area - t.area
|
272 |
+
}),
|
273 |
+
u = p.filter(function(t) {
|
274 |
+
var e = t.width,
|
275 |
+
o = t.height;
|
276 |
+
return e >= n.clientWidth && o >= n.clientHeight
|
277 |
+
}),
|
278 |
+
l = u.length > 0 ? u[0].key : p[0].key,
|
279 |
+
c = t.split("-")[1];
|
280 |
+
return l + (c ? "-" + c : "")
|
281 |
+
}
|
282 |
+
|
283 |
+
function w(t, e, n) {
|
284 |
+
return m(n, a(e, n))
|
285 |
+
}
|
286 |
+
|
287 |
+
function E(t) {
|
288 |
+
var e = window.getComputedStyle(t),
|
289 |
+
n = parseFloat(e.marginTop) + parseFloat(e.marginBottom),
|
290 |
+
o = parseFloat(e.marginLeft) + parseFloat(e.marginRight);
|
291 |
+
return {
|
292 |
+
width: t.offsetWidth + o,
|
293 |
+
height: t.offsetHeight + n
|
294 |
+
}
|
295 |
+
}
|
296 |
+
|
297 |
+
function S(t) {
|
298 |
+
var e = {
|
299 |
+
left: "right",
|
300 |
+
right: "left",
|
301 |
+
bottom: "top",
|
302 |
+
top: "bottom"
|
303 |
+
};
|
304 |
+
return t.replace(/left|right|bottom|top/g, function(t) {
|
305 |
+
return e[t]
|
306 |
+
})
|
307 |
+
}
|
308 |
+
|
309 |
+
function T(t, e, n) {
|
310 |
+
n = n.split("-")[0];
|
311 |
+
var o = E(t),
|
312 |
+
i = {
|
313 |
+
width: o.width,
|
314 |
+
height: o.height
|
315 |
+
},
|
316 |
+
r = -1 !== ["right", "left"].indexOf(n),
|
317 |
+
s = r ? "top" : "left",
|
318 |
+
a = r ? "left" : "top",
|
319 |
+
p = r ? "height" : "width",
|
320 |
+
u = r ? "width" : "height";
|
321 |
+
return i[s] = e[s] + e[p] / 2 - o[p] / 2, i[a] = n === a ? e[a] - o[u] : e[S(a)], i
|
322 |
+
}
|
323 |
+
|
324 |
+
function O(t, e) {
|
325 |
+
return Array.prototype.find ? t.find(e) : t.filter(e)[0]
|
326 |
+
}
|
327 |
+
|
328 |
+
function C(t, e, n) {
|
329 |
+
if (Array.prototype.findIndex) return t.findIndex(function(t) {
|
330 |
+
return t[e] === n
|
331 |
+
});
|
332 |
+
var o = O(t, function(t) {
|
333 |
+
return t[e] === n
|
334 |
+
});
|
335 |
+
return t.indexOf(o)
|
336 |
+
}
|
337 |
+
|
338 |
+
function x(e, n, o) {
|
339 |
+
return (void 0 === o ? e : e.slice(0, C(e, "name", o))).forEach(function(e) {
|
340 |
+
e.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!");
|
341 |
+
var o = e.function || e.fn;
|
342 |
+
e.enabled && t(o) && (n.offsets.popper = f(n.offsets.popper), n.offsets.reference = f(n.offsets.reference), n = o(n, e))
|
343 |
+
}), n
|
344 |
+
}
|
345 |
+
|
346 |
+
function k() {
|
347 |
+
if (!this.state.isDestroyed) {
|
348 |
+
var t = {
|
349 |
+
instance: this,
|
350 |
+
styles: {},
|
351 |
+
mo2f_arrowStyles: {},
|
352 |
+
attributes: {},
|
353 |
+
flipped: !1,
|
354 |
+
offsets: {}
|
355 |
+
};
|
356 |
+
t.offsets.reference = w(this.state, this.popper, this.reference), t.placement = y(this.options.placement, t.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding), t.originalPlacement = t.placement, t.offsets.popper = T(this.popper, t.offsets.reference, t.placement), t.offsets.popper.position = "absolute", t = x(this.modifiers, t), this.state.isCreated ? this.options.onUpdate(t) : (this.state.isCreated = !0, this.options.onCreate(t))
|
357 |
+
}
|
358 |
+
}
|
359 |
+
|
360 |
+
function P(t, e) {
|
361 |
+
return t.some(function(t) {
|
362 |
+
var n = t.name;
|
363 |
+
return t.enabled && n === e
|
364 |
+
})
|
365 |
+
}
|
366 |
+
|
367 |
+
function D(t) {
|
368 |
+
for (var e = [!1, "ms", "Webkit", "Moz", "O"], n = t.charAt(0).toUpperCase() + t.slice(1), o = 0; o < e.length - 1; o++) {
|
369 |
+
var i = e[o],
|
370 |
+
r = i ? "" + i + n : t;
|
371 |
+
if (void 0 !== window.document.body.style[r]) return r
|
372 |
+
}
|
373 |
+
return null
|
374 |
+
}
|
375 |
+
|
376 |
+
function N() {
|
377 |
+
return this.state.isDestroyed = !0, P(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"), this.popper.style.left = "", this.popper.style.position = "", this.popper.style.top = "", this.popper.style[D("transform")] = ""), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this
|
378 |
+
}
|
379 |
+
|
380 |
+
function A(t, e, n, i) {
|
381 |
+
var r = "BODY" === t.nodeName,
|
382 |
+
s = r ? window : t;
|
383 |
+
s.addEventListener(e, n, {
|
384 |
+
passive: !0
|
385 |
+
}), r || A(o(s.parentNode), e, n, i), i.push(s)
|
386 |
+
}
|
387 |
+
|
388 |
+
function H(t, e, n, i) {
|
389 |
+
n.updateBound = i, window.addEventListener("resize", n.updateBound, {
|
390 |
+
passive: !0
|
391 |
+
});
|
392 |
+
var r = o(t);
|
393 |
+
return A(r, "scroll", n.updateBound, n.scrollParents), n.scrollElement = r, n.eventsEnabled = !0, n
|
394 |
+
}
|
395 |
+
|
396 |
+
function j() {
|
397 |
+
this.state.eventsEnabled || (this.state = H(this.reference, this.options, this.state, this.scheduleUpdate))
|
398 |
+
}
|
399 |
+
|
400 |
+
function I(t, e) {
|
401 |
+
return window.removeEventListener("resize", e.updateBound), e.scrollParents.forEach(function(t) {
|
402 |
+
t.removeEventListener("scroll", e.updateBound)
|
403 |
+
}), e.updateBound = null, e.scrollParents = [], e.scrollElement = null, e.eventsEnabled = !1, e
|
404 |
+
}
|
405 |
+
|
406 |
+
function R() {
|
407 |
+
this.state.eventsEnabled && (window.cancelAnimationFrame(this.scheduleUpdate), this.state = I(this.reference, this.state))
|
408 |
+
}
|
409 |
+
|
410 |
+
function L(t) {
|
411 |
+
return "" !== t && !isNaN(parseFloat(t)) && isFinite(t)
|
412 |
+
}
|
413 |
+
|
414 |
+
function W(t, e) {
|
415 |
+
Object.keys(e).forEach(function(n) {
|
416 |
+
var o = ""; - 1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(n) && L(e[n]) && (o = "px"), t.style[n] = e[n] + o
|
417 |
+
})
|
418 |
+
}
|
419 |
+
|
420 |
+
function U(t, e) {
|
421 |
+
Object.keys(e).forEach(function(n) {
|
422 |
+
!1 !== e[n] ? t.setAttribute(n, e[n]) : t.removeAttribute(n)
|
423 |
+
})
|
424 |
+
}
|
425 |
+
|
426 |
+
function M(t, e, n) {
|
427 |
+
var o = O(t, function(t) {
|
428 |
+
return t.name === e
|
429 |
+
}),
|
430 |
+
i = !!o && t.some(function(t) {
|
431 |
+
return t.name === n && t.enabled && t.order < o.order
|
432 |
+
});
|
433 |
+
if (!i) {
|
434 |
+
var r = "`" + e + "`",
|
435 |
+
s = "`" + n + "`";
|
436 |
+
console.warn(s + " modifier is required by " + r + " modifier in order to work, be sure to include it before " + r + "!")
|
437 |
+
}
|
438 |
+
return i
|
439 |
+
}
|
440 |
+
|
441 |
+
function F(t) {
|
442 |
+
return "end" === t ? "start" : "start" === t ? "end" : t
|
443 |
+
}
|
444 |
+
|
445 |
+
function B(t) {
|
446 |
+
var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
|
447 |
+
n = it.indexOf(t),
|
448 |
+
o = it.slice(n + 1).concat(it.slice(0, n));
|
449 |
+
return e ? o.reverse() : o
|
450 |
+
}
|
451 |
+
|
452 |
+
function K(t, e, n, o) {
|
453 |
+
var i = t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),
|
454 |
+
r = +i[1],
|
455 |
+
s = i[2];
|
456 |
+
if (!r) return t;
|
457 |
+
if (0 === s.indexOf("%")) {
|
458 |
+
var a = void 0;
|
459 |
+
switch (s) {
|
460 |
+
case "%p":
|
461 |
+
a = n;
|
462 |
+
break;
|
463 |
+
case "%":
|
464 |
+
case "%r":
|
465 |
+
default:
|
466 |
+
a = o
|
467 |
+
}
|
468 |
+
return f(a)[e] / 100 * r
|
469 |
+
}
|
470 |
+
if ("vh" === s || "vw" === s) {
|
471 |
+
return ("vh" === s ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100 * r
|
472 |
+
}
|
473 |
+
return r
|
474 |
+
}
|
475 |
+
|
476 |
+
function q(t, e, n, o) {
|
477 |
+
var i = [0, 0],
|
478 |
+
r = -1 !== ["right", "left"].indexOf(o),
|
479 |
+
s = t.split(/(\+|\-)/).map(function(t) {
|
480 |
+
return t.trim()
|
481 |
+
}),
|
482 |
+
a = s.indexOf(O(s, function(t) {
|
483 |
+
return -1 !== t.search(/,|\s/)
|
484 |
+
}));
|
485 |
+
s[a] && -1 === s[a].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");
|
486 |
+
var p = /\s*,\s*|\s+/,
|
487 |
+
u = -1 !== a ? [s.slice(0, a).concat([s[a].split(p)[0]]), [s[a].split(p)[1]].concat(s.slice(a + 1))] : [s];
|
488 |
+
return (u = u.map(function(t, o) {
|
489 |
+
var i = (1 === o ? !r : r) ? "height" : "width",
|
490 |
+
s = !1;
|
491 |
+
return t.reduce(function(t, e) {
|
492 |
+
return "" === t[t.length - 1] && -1 !== ["+", "-"].indexOf(e) ? (t[t.length - 1] = e, s = !0, t) : s ? (t[t.length - 1] += e, s = !1, t) : t.concat(e)
|
493 |
+
}, []).map(function(t) {
|
494 |
+
return K(t, i, e, n)
|
495 |
+
})
|
496 |
+
})).forEach(function(t, e) {
|
497 |
+
t.forEach(function(n, o) {
|
498 |
+
L(n) && (i[e] += n * ("-" === t[o - 1] ? -1 : 1))
|
499 |
+
})
|
500 |
+
}), i
|
501 |
+
}
|
502 |
+
for (var Y = ["native code", "[object MutationObserverConstructor]"], V = "undefined" != typeof window, Q = ["Edge", "Trident", "Firefox"], G = 0, z = 0; z < Q.length; z += 1)
|
503 |
+
if (V && navigator.userAgent.indexOf(Q[z]) >= 0) {
|
504 |
+
G = 1;
|
505 |
+
break
|
506 |
+
} var J = V && function(t) {
|
507 |
+
return Y.some(function(e) {
|
508 |
+
return (t || "").toString().indexOf(e) > -1
|
509 |
+
})
|
510 |
+
}(window.MutationObserver) ? function(t) {
|
511 |
+
var e = !1,
|
512 |
+
n = 0,
|
513 |
+
o = document.createElement("span");
|
514 |
+
return new MutationObserver(function() {
|
515 |
+
t(), e = !1
|
516 |
+
}).observe(o, {
|
517 |
+
attributes: !0
|
518 |
+
}),
|
519 |
+
function() {
|
520 |
+
e || (e = !0, o.setAttribute("x-index", n), n += 1)
|
521 |
+
}
|
522 |
+
} : function(t) {
|
523 |
+
var e = !1;
|
524 |
+
return function() {
|
525 |
+
e || (e = !0, setTimeout(function() {
|
526 |
+
e = !1, t()
|
527 |
+
}, G))
|
528 |
+
}
|
529 |
+
},
|
530 |
+
X = void 0,
|
531 |
+
Z = function() {
|
532 |
+
return void 0 === X && (X = -1 !== navigator.appVersion.indexOf("MSIE 10")), X
|
533 |
+
},
|
534 |
+
$ = function(t, e) {
|
535 |
+
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
|
536 |
+
},
|
537 |
+
tt = function() {
|
538 |
+
function t(t, e) {
|
539 |
+
for (var n = 0; n < e.length; n++) {
|
540 |
+
var o = e[n];
|
541 |
+
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o)
|
542 |
+
}
|
543 |
+
}
|
544 |
+
return function(e, n, o) {
|
545 |
+
return n && t(e.prototype, n), o && t(e, o), e
|
546 |
+
}
|
547 |
+
}(),
|
548 |
+
et = function(t, e, n) {
|
549 |
+
return e in t ? Object.defineProperty(t, e, {
|
550 |
+
value: n,
|
551 |
+
enumerable: !0,
|
552 |
+
configurable: !0,
|
553 |
+
writable: !0
|
554 |
+
}) : t[e] = n, t
|
555 |
+
},
|
556 |
+
nt = Object.assign || function(t) {
|
557 |
+
for (var e = 1; e < arguments.length; e++) {
|
558 |
+
var n = arguments[e];
|
559 |
+
for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o])
|
560 |
+
}
|
561 |
+
return t
|
562 |
+
},
|
563 |
+
ot = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"],
|
564 |
+
it = ot.slice(3),
|
565 |
+
rt = {
|
566 |
+
FLIP: "flip",
|
567 |
+
CLOCKWISE: "clockwise",
|
568 |
+
COUNTERCLOCKWISE: "counterclockwise"
|
569 |
+
},
|
570 |
+
st = {
|
571 |
+
placement: "bottom",
|
572 |
+
eventsEnabled: !0,
|
573 |
+
removeOnDestroy: !1,
|
574 |
+
onCreate: function() {},
|
575 |
+
onUpdate: function() {},
|
576 |
+
modifiers: {
|
577 |
+
shift: {
|
578 |
+
order: 100,
|
579 |
+
enabled: !0,
|
580 |
+
fn: function(t) {
|
581 |
+
var e = t.placement,
|
582 |
+
n = e.split("-")[0],
|
583 |
+
o = e.split("-")[1];
|
584 |
+
if (o) {
|
585 |
+
var i = t.offsets,
|
586 |
+
r = i.reference,
|
587 |
+
s = i.popper,
|
588 |
+
a = -1 !== ["bottom", "top"].indexOf(n),
|
589 |
+
p = a ? "left" : "top",
|
590 |
+
u = a ? "width" : "height",
|
591 |
+
l = {
|
592 |
+
start: et({}, p, r[p]),
|
593 |
+
end: et({}, p, r[p] + r[u] - s[u])
|
594 |
+
};
|
595 |
+
t.offsets.popper = nt({}, s, l[o])
|
596 |
+
}
|
597 |
+
return t
|
598 |
+
}
|
599 |
+
},
|
600 |
+
offset: {
|
601 |
+
order: 200,
|
602 |
+
enabled: !0,
|
603 |
+
fn: function(t, e) {
|
604 |
+
var n = e.offset,
|
605 |
+
o = t.placement,
|
606 |
+
i = t.offsets,
|
607 |
+
r = i.popper,
|
608 |
+
s = i.reference,
|
609 |
+
a = o.split("-")[0],
|
610 |
+
p = void 0;
|
611 |
+
return p = L(+n) ? [+n, 0] : q(n, r, s, a), "left" === a ? (r.top += p[0], r.left -= p[1]) : "right" === a ? (r.top += p[0], r.left += p[1]) : "top" === a ? (r.left += p[0], r.top -= p[1]) : "bottom" === a && (r.left += p[0], r.top += p[1]), t.popper = r, t
|
612 |
+
},
|
613 |
+
offset: 0
|
614 |
+
},
|
615 |
+
preventOverflow: {
|
616 |
+
order: 300,
|
617 |
+
enabled: !0,
|
618 |
+
fn: function(t, e) {
|
619 |
+
var n = e.boundariesElement || i(t.instance.popper);
|
620 |
+
t.instance.reference === n && (n = i(n));
|
621 |
+
var o = _(t.instance.popper, t.instance.reference, e.padding, n);
|
622 |
+
e.boundaries = o;
|
623 |
+
var r = e.priority,
|
624 |
+
s = t.offsets.popper,
|
625 |
+
a = {
|
626 |
+
primary: function(t) {
|
627 |
+
var n = s[t];
|
628 |
+
return s[t] < o[t] && !e.escapeWithReference && (n = Math.max(s[t], o[t])), et({}, t, n)
|
629 |
+
},
|
630 |
+
secondary: function(t) {
|
631 |
+
var n = "right" === t ? "left" : "top",
|
632 |
+
i = s[n];
|
633 |
+
return s[t] > o[t] && !e.escapeWithReference && (i = Math.min(s[n], o[t] - ("right" === t ? s.width : s.height))), et({}, n, i)
|
634 |
+
}
|
635 |
+
};
|
636 |
+
return r.forEach(function(t) {
|
637 |
+
var e = -1 !== ["left", "top"].indexOf(t) ? "primary" : "secondary";
|
638 |
+
s = nt({}, s, a[e](t))
|
639 |
+
}), t.offsets.popper = s, t
|
640 |
+
},
|
641 |
+
priority: ["left", "right", "top", "bottom"],
|
642 |
+
padding: 5,
|
643 |
+
boundariesElement: "scrollParent"
|
644 |
+
},
|
645 |
+
keepTogether: {
|
646 |
+
order: 400,
|
647 |
+
enabled: !0,
|
648 |
+
fn: function(t) {
|
649 |
+
var e = t.offsets,
|
650 |
+
n = e.popper,
|
651 |
+
o = e.reference,
|
652 |
+
i = t.placement.split("-")[0],
|
653 |
+
r = Math.floor,
|
654 |
+
s = -1 !== ["top", "bottom"].indexOf(i),
|
655 |
+
a = s ? "right" : "bottom",
|
656 |
+
p = s ? "left" : "top",
|
657 |
+
u = s ? "width" : "height";
|
658 |
+
return n[a] < r(o[p]) && (t.offsets.popper[p] = r(o[p]) - n[u]), n[p] > r(o[a]) && (t.offsets.popper[p] = r(o[a])), t
|
659 |
+
}
|
660 |
+
},
|
661 |
+
mo2f_arrow: {
|
662 |
+
order: 500,
|
663 |
+
enabled: !0,
|
664 |
+
fn: function(t, n) {
|
665 |
+
if (!M(t.instance.modifiers, "mo2f_arrow", "keepTogether")) return t;
|
666 |
+
var o = n.element;
|
667 |
+
if ("string" == typeof o) {
|
668 |
+
if (!(o = t.instance.popper.querySelector(o))) return t
|
669 |
+
} else if (!t.instance.popper.contains(o)) return console.warn("WARNING: `mo2f_arrow.element` must be child of its popper element!"), t;
|
670 |
+
var i = t.placement.split("-")[0],
|
671 |
+
r = t.offsets,
|
672 |
+
s = r.popper,
|
673 |
+
a = r.reference,
|
674 |
+
p = -1 !== ["left", "right"].indexOf(i),
|
675 |
+
u = p ? "height" : "width",
|
676 |
+
l = p ? "Top" : "Left",
|
677 |
+
c = l.toLowerCase(),
|
678 |
+
h = p ? "left" : "top",
|
679 |
+
d = p ? "bottom" : "right",
|
680 |
+
m = E(o)[u];
|
681 |
+
a[d] - m < s[c] && (t.offsets.popper[c] -= s[c] - (a[d] - m)), a[c] + m > s[d] && (t.offsets.popper[c] += a[c] + m - s[d]);
|
682 |
+
var g = a[c] + a[u] / 2 - m / 2,
|
683 |
+
v = e(t.instance.popper, "margin" + l).replace("px", ""),
|
684 |
+
_ = g - f(t.offsets.popper)[c] - v;
|
685 |
+
return _ = Math.max(Math.min(s[u] - m, _), 0), t.mo2f_arrowElement = o, t.offsets.mo2f_arrow = {}, t.offsets.mo2f_arrow[c] = Math.round(_), t.offsets.mo2f_arrow[h] = "", t
|
686 |
+
},
|
687 |
+
element: "[x-mo2f_arrow]"
|
688 |
+
},
|
689 |
+
flip: {
|
690 |
+
order: 600,
|
691 |
+
enabled: !0,
|
692 |
+
fn: function(t, e) {
|
693 |
+
if (P(t.instance.modifiers, "inner")) return t;
|
694 |
+
if (t.flipped && t.placement === t.originalPlacement) return t;
|
695 |
+
var n = _(t.instance.popper, t.instance.reference, e.padding, e.boundariesElement),
|
696 |
+
o = t.placement.split("-")[0],
|
697 |
+
i = S(o),
|
698 |
+
r = t.placement.split("-")[1] || "",
|
699 |
+
s = [];
|
700 |
+
switch (e.behavior) {
|
701 |
+
case rt.FLIP:
|
702 |
+
s = [o, i];
|
703 |
+
break;
|
704 |
+
case rt.CLOCKWISE:
|
705 |
+
s = B(o);
|
706 |
+
break;
|
707 |
+
case rt.COUNTERCLOCKWISE:
|
708 |
+
s = B(o, !0);
|
709 |
+
break;
|
710 |
+
default:
|
711 |
+
s = e.behavior
|
712 |
+
}
|
713 |
+
return s.forEach(function(a, p) {
|
714 |
+
if (o !== a || s.length === p + 1) return t;
|
715 |
+
o = t.placement.split("-")[0], i = S(o);
|
716 |
+
var u = t.offsets.popper,
|
717 |
+
l = t.offsets.reference,
|
718 |
+
c = Math.floor,
|
719 |
+
h = "left" === o && c(u.right) > c(l.left) || "right" === o && c(u.left) < c(l.right) || "top" === o && c(u.bottom) > c(l.top) || "bottom" === o && c(u.top) < c(l.bottom),
|
720 |
+
f = c(u.left) < c(n.left),
|
721 |
+
d = c(u.right) > c(n.right),
|
722 |
+
m = c(u.top) < c(n.top),
|
723 |
+
g = c(u.bottom) > c(n.bottom),
|
724 |
+
v = "left" === o && f || "right" === o && d || "top" === o && m || "bottom" === o && g,
|
725 |
+
_ = -1 !== ["top", "bottom"].indexOf(o),
|
726 |
+
b = !!e.flipVariations && (_ && "start" === r && f || _ && "end" === r && d || !_ && "start" === r && m || !_ && "end" === r && g);
|
727 |
+
(h || v || b) && (t.flipped = !0, (h || v) && (o = s[p + 1]), b && (r = F(r)), t.placement = o + (r ? "-" + r : ""), t.offsets.popper = nt({}, t.offsets.popper, T(t.instance.popper, t.offsets.reference, t.placement)), t = x(t.instance.modifiers, t, "flip"))
|
728 |
+
}), t
|
729 |
+
},
|
730 |
+
behavior: "flip",
|
731 |
+
padding: 5,
|
732 |
+
boundariesElement: "viewport"
|
733 |
+
},
|
734 |
+
inner: {
|
735 |
+
order: 700,
|
736 |
+
enabled: !1,
|
737 |
+
fn: function(t) {
|
738 |
+
var e = t.placement,
|
739 |
+
n = e.split("-")[0],
|
740 |
+
o = t.offsets,
|
741 |
+
i = o.popper,
|
742 |
+
r = o.reference,
|
743 |
+
s = -1 !== ["left", "right"].indexOf(n),
|
744 |
+
a = -1 === ["top", "left"].indexOf(n);
|
745 |
+
return i[s ? "left" : "top"] = r[n] - (a ? i[s ? "width" : "height"] : 0), t.placement = S(e), t.offsets.popper = f(i), t
|
746 |
+
}
|
747 |
+
},
|
748 |
+
hide: {
|
749 |
+
order: 800,
|
750 |
+
enabled: !0,
|
751 |
+
fn: function(t) {
|
752 |
+
if (!M(t.instance.modifiers, "hide", "preventOverflow")) return t;
|
753 |
+
var e = t.offsets.reference,
|
754 |
+
n = O(t.instance.modifiers, function(t) {
|
755 |
+
return "preventOverflow" === t.name
|
756 |
+
}).boundaries;
|
757 |
+
if (e.bottom < n.top || e.left > n.right || e.top > n.bottom || e.right < n.left) {
|
758 |
+
if (!0 === t.hide) return t;
|
759 |
+
t.hide = !0, t.attributes["x-out-of-boundaries"] = ""
|
760 |
+
} else {
|
761 |
+
if (!1 === t.hide) return t;
|
762 |
+
t.hide = !1, t.attributes["x-out-of-boundaries"] = !1
|
763 |
+
}
|
764 |
+
return t
|
765 |
+
}
|
766 |
+
},
|
767 |
+
computeStyle: {
|
768 |
+
order: 850,
|
769 |
+
enabled: !0,
|
770 |
+
fn: function(t, e) {
|
771 |
+
var n = e.x,
|
772 |
+
o = e.y,
|
773 |
+
r = t.offsets.popper,
|
774 |
+
s = O(t.instance.modifiers, function(t) {
|
775 |
+
return "applyStyle" === t.name
|
776 |
+
}).gpuAcceleration;
|
777 |
+
void 0 !== s && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");
|
778 |
+
var a = void 0 !== s ? s : e.gpuAcceleration,
|
779 |
+
p = d(i(t.instance.popper)),
|
780 |
+
u = {
|
781 |
+
position: r.position
|
782 |
+
},
|
783 |
+
l = {
|
784 |
+
left: Math.floor(r.left),
|
785 |
+
top: Math.floor(r.top),
|
786 |
+
bottom: Math.floor(r.bottom),
|
787 |
+
right: Math.floor(r.right)
|
788 |
+
},
|
789 |
+
c = "bottom" === n ? "top" : "bottom",
|
790 |
+
h = "right" === o ? "left" : "right",
|
791 |
+
f = D("transform"),
|
792 |
+
m = void 0,
|
793 |
+
g = void 0;
|
794 |
+
if (g = "bottom" === c ? -p.height + l.bottom : l.top, m = "right" === h ? -p.width + l.right : l.left, a && f) u[f] = "translate3d(" + m + "px, " + g + "px, 0)", u[c] = 0, u[h] = 0, u.willChange = "transform";
|
795 |
+
else {
|
796 |
+
var v = "bottom" === c ? -1 : 1,
|
797 |
+
_ = "right" === h ? -1 : 1;
|
798 |
+
u[c] = g * v, u[h] = m * _, u.willChange = c + ", " + h
|
799 |
+
}
|
800 |
+
var b = {
|
801 |
+
"x-placement": t.placement
|
802 |
+
};
|
803 |
+
return t.attributes = nt({}, b, t.attributes), t.styles = nt({}, u, t.styles), t.mo2f_arrowStyles = nt({}, t.offsets.mo2f_arrow, t.mo2f_arrowStyles), t
|
804 |
+
},
|
805 |
+
gpuAcceleration: !0,
|
806 |
+
x: "bottom",
|
807 |
+
y: "right"
|
808 |
+
},
|
809 |
+
applyStyle: {
|
810 |
+
order: 900,
|
811 |
+
enabled: !0,
|
812 |
+
fn: function(t) {
|
813 |
+
return W(t.instance.popper, t.styles), U(t.instance.popper, t.attributes), t.mo2f_arrowElement && Object.keys(t.mo2f_arrowStyles).length && W(t.mo2f_arrowElement, t.mo2f_arrowStyles), t
|
814 |
+
},
|
815 |
+
onLoad: function(t, e, n, o, i) {
|
816 |
+
var r = w(i, e, t),
|
817 |
+
s = y(n.placement, r, e, t, n.modifiers.flip.boundariesElement, n.modifiers.flip.padding);
|
818 |
+
return e.setAttribute("x-placement", s), W(e, {
|
819 |
+
position: "absolute"
|
820 |
+
}), n
|
821 |
+
},
|
822 |
+
gpuAcceleration: void 0
|
823 |
+
}
|
824 |
+
}
|
825 |
+
},
|
826 |
+
at = function() {
|
827 |
+
function e(n, o) {
|
828 |
+
var i = this,
|
829 |
+
r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
|
830 |
+
$(this, e), this.scheduleUpdate = function() {
|
831 |
+
return requestAnimationFrame(i.update)
|
832 |
+
}, this.update = J(this.update.bind(this)), this.options = nt({}, e.Defaults, r), this.state = {
|
833 |
+
isDestroyed: !1,
|
834 |
+
isCreated: !1,
|
835 |
+
scrollParents: []
|
836 |
+
}, this.reference = n.jquery ? n[0] : n, this.popper = o.jquery ? o[0] : o, this.options.modifiers = {}, Object.keys(nt({}, e.Defaults.modifiers, r.modifiers)).forEach(function(t) {
|
837 |
+
i.options.modifiers[t] = nt({}, e.Defaults.modifiers[t] || {}, r.modifiers ? r.modifiers[t] : {})
|
838 |
+
}), this.modifiers = Object.keys(this.options.modifiers).map(function(t) {
|
839 |
+
return nt({
|
840 |
+
name: t
|
841 |
+
}, i.options.modifiers[t])
|
842 |
+
}).sort(function(t, e) {
|
843 |
+
return t.order - e.order
|
844 |
+
}), this.modifiers.forEach(function(e) {
|
845 |
+
e.enabled && t(e.onLoad) && e.onLoad(i.reference, i.popper, i.options, e, i.state)
|
846 |
+
}), this.update();
|
847 |
+
var s = this.options.eventsEnabled;
|
848 |
+
s && this.enableEventListeners(), this.state.eventsEnabled = s
|
849 |
+
}
|
850 |
+
return tt(e, [{
|
851 |
+
key: "update",
|
852 |
+
value: function() {
|
853 |
+
return k.call(this)
|
854 |
+
}
|
855 |
+
}, {
|
856 |
+
key: "destroy",
|
857 |
+
value: function() {
|
858 |
+
return N.call(this)
|
859 |
+
}
|
860 |
+
}, {
|
861 |
+
key: "enableEventListeners",
|
862 |
+
value: function() {
|
863 |
+
return j.call(this)
|
864 |
+
}
|
865 |
+
}, {
|
866 |
+
key: "disableEventListeners",
|
867 |
+
value: function() {
|
868 |
+
return R.call(this)
|
869 |
+
}
|
870 |
+
}]), e
|
871 |
+
}();
|
872 |
+
return at.Utils = ("undefined" != typeof window ? window : global).PopperUtils, at.placements = ot, at.Defaults = st, at
|
873 |
+
});
|
874 |
+
var Util = function(t) {
|
875 |
+
function e(t) {
|
876 |
+
return {}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
|
877 |
+
}
|
878 |
+
|
879 |
+
function n(t) {
|
880 |
+
return (t[0] || t).nodeType
|
881 |
+
}
|
882 |
+
|
883 |
+
function o() {
|
884 |
+
return {
|
885 |
+
bindType: s.end,
|
886 |
+
delegateType: s.end,
|
887 |
+
handle: function(e) {
|
888 |
+
if (t(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
|
889 |
+
}
|
890 |
+
}
|
891 |
+
}
|
892 |
+
|
893 |
+
function i() {
|
894 |
+
if (window.QUnit) return !1;
|
895 |
+
var t = document.createElement("bootstrap");
|
896 |
+
for (var e in a)
|
897 |
+
if (void 0 !== t.style[e]) return {
|
898 |
+
end: a[e]
|
899 |
+
};
|
900 |
+
return !1
|
901 |
+
}
|
902 |
+
|
903 |
+
function r(e) {
|
904 |
+
var n = this,
|
905 |
+
o = !1;
|
906 |
+
return t(this).one(p.TRANSITION_END, function() {
|
907 |
+
o = !0
|
908 |
+
}), setTimeout(function() {
|
909 |
+
o || p.triggerTransitionEnd(n)
|
910 |
+
}, e), this
|
911 |
+
}
|
912 |
+
var s = !1,
|
913 |
+
a = {
|
914 |
+
WebkitTransition: "webkitTransitionEnd",
|
915 |
+
MozTransition: "transitionend",
|
916 |
+
OTransition: "oTransitionEnd otransitionend",
|
917 |
+
transition: "transitionend"
|
918 |
+
},
|
919 |
+
p = {
|
920 |
+
TRANSITION_END: "bsTransitionEnd",
|
921 |
+
getUID: function(t) {
|
922 |
+
do {
|
923 |
+
t += ~~(1e6 * Math.random())
|
924 |
+
} while (document.getElementById(t));
|
925 |
+
return t
|
926 |
+
},
|
927 |
+
getSelectorFromElement: function(e) {
|
928 |
+
var n = e.getAttribute("data-target");
|
929 |
+
n && "#" !== n || (n = e.getAttribute("href") || "");
|
930 |
+
try {
|
931 |
+
return t(n).length > 0 ? n : null
|
932 |
+
} catch (t) {
|
933 |
+
return null
|
934 |
+
}
|
935 |
+
},
|
936 |
+
reflow: function(t) {
|
937 |
+
return t.offsetHeight
|
938 |
+
},
|
939 |
+
triggerTransitionEnd: function(e) {
|
940 |
+
t(e).trigger(s.end)
|
941 |
+
},
|
942 |
+
supportsTransitionEnd: function() {
|
943 |
+
return Boolean(s)
|
944 |
+
},
|
945 |
+
typeCheckConfig: function(t, o, i) {
|
946 |
+
for (var r in i)
|
947 |
+
if (i.hasOwnProperty(r)) {
|
948 |
+
var s = i[r],
|
949 |
+
a = o[r],
|
950 |
+
p = a && n(a) ? "element" : e(a);
|
951 |
+
if (!new RegExp(s).test(p)) throw new Error(t.toUpperCase() + ': Option "' + r + '" provided type "' + p + '" but expected type "' + s + '".')
|
952 |
+
}
|
953 |
+
}
|
954 |
+
};
|
955 |
+
return s = i(), t.fn.emulateTransitionEnd = r, p.supportsTransitionEnd() && (t.event.special[p.TRANSITION_END] = o()), p
|
956 |
+
}(jQuery),
|
957 |
+
_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
|
958 |
+
return typeof t
|
959 |
+
} : function(t) {
|
960 |
+
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
961 |
+
},
|
962 |
+
_createClass = function() {
|
963 |
+
function t(t, e) {
|
964 |
+
for (var n = 0; n < e.length; n++) {
|
965 |
+
var o = e[n];
|
966 |
+
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o)
|
967 |
+
}
|
968 |
+
}
|
969 |
+
return function(e, n, o) {
|
970 |
+
return n && t(e.prototype, n), o && t(e, o), e
|
971 |
+
}
|
972 |
+
}(),
|
973 |
+
Tooltip = function(t) {
|
974 |
+
if ("undefined" == typeof Popper) throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");
|
975 |
+
var e = "tooltip",
|
976 |
+
n = ".bs.tooltip",
|
977 |
+
o = t.fn[e],
|
978 |
+
i = new RegExp("(^|\\s)bs-tooltip\\S+", "g"),
|
979 |
+
r = {
|
980 |
+
animation: "boolean",
|
981 |
+
template: "string",
|
982 |
+
title: "(string|element|function)",
|
983 |
+
trigger: "string",
|
984 |
+
delay: "(number|object)",
|
985 |
+
html: "boolean",
|
986 |
+
selector: "(string|boolean)",
|
987 |
+
placement: "(string|function)",
|
988 |
+
offset: "(number|string)",
|
989 |
+
container: "(string|element|boolean)",
|
990 |
+
fallbackPlacement: "(string|array)"
|
991 |
+
},
|
992 |
+
s = {
|
993 |
+
AUTO: "auto",
|
994 |
+
TOP: "top",
|
995 |
+
RIGHT: "right",
|
996 |
+
BOTTOM: "bottom",
|
997 |
+
LEFT: "left"
|
998 |
+
},
|
999 |
+
a = {
|
1000 |
+
animation: !0,
|
1001 |
+
template: '<div class="tooltip" role="tooltip"><div class="mo2f_arrow"></div><div class="tooltip-inner"></div></div>',
|
1002 |
+
trigger: "hover focus",
|
1003 |
+
title: "",
|
1004 |
+
delay: 0,
|
1005 |
+
html: !1,
|
1006 |
+
selector: !1,
|
1007 |
+
placement: "top",
|
1008 |
+
offset: 0,
|
1009 |
+
container: !1,
|
1010 |
+
fallbackPlacement: "flip"
|
1011 |
+
},
|
1012 |
+
p = {
|
1013 |
+
SHOW: "show",
|
1014 |
+
OUT: "out"
|
1015 |
+
},
|
1016 |
+
u = {
|
1017 |
+
HIDE: "hide" + n,
|
1018 |
+
HIDDEN: "hidden" + n,
|
1019 |
+
SHOW: "show" + n,
|
1020 |
+
SHOWN: "shown" + n,
|
1021 |
+
INSERTED: "inserted" + n,
|
1022 |
+
CLICK: "click" + n,
|
1023 |
+
FOCUSIN: "focusin" + n,
|
1024 |
+
FOCUSOUT: "focusout" + n,
|
1025 |
+
MOUSEENTER: "mouseenter" + n,
|
1026 |
+
MOUSELEAVE: "mouseleave" + n
|
1027 |
+
},
|
1028 |
+
l = {
|
1029 |
+
FADE: "fade",
|
1030 |
+
SHOW: "show"
|
1031 |
+
},
|
1032 |
+
c = {
|
1033 |
+
TOOLTIP: ".tooltip",
|
1034 |
+
TOOLTIP_INNER: ".tooltip-inner",
|
1035 |
+
ARROW: ".mo2f_arrow"
|
1036 |
+
},
|
1037 |
+
h = {
|
1038 |
+
HOVER: "hover",
|
1039 |
+
FOCUS: "focus",
|
1040 |
+
CLICK: "click",
|
1041 |
+
MANUAL: "manual"
|
1042 |
+
},
|
1043 |
+
f = function() {
|
1044 |
+
function o(t, e) {
|
1045 |
+
_classCallCheck(this, o), this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners()
|
1046 |
+
}
|
1047 |
+
return o.prototype.enable = function() {
|
1048 |
+
this._isEnabled = !0
|
1049 |
+
}, o.prototype.disable = function() {
|
1050 |
+
this._isEnabled = !1
|
1051 |
+
}, o.prototype.toggleEnabled = function() {
|
1052 |
+
this._isEnabled = !this._isEnabled
|
1053 |
+
}, o.prototype.toggle = function(e) {
|
1054 |
+
if (e) {
|
1055 |
+
var n = this.constructor.DATA_KEY,
|
1056 |
+
o = t(e.currentTarget).data(n);
|
1057 |
+
o || (o = new this.constructor(e.currentTarget, this._getDelegateConfig()), t(e.currentTarget).data(n, o)), o._activeTrigger.click = !o._activeTrigger.click, o._isWithActiveTrigger() ? o._enter(null, o) : o._leave(null, o)
|
1058 |
+
} else {
|
1059 |
+
if (t(this.getTipElement()).hasClass(l.SHOW)) return void this._leave(null, this);
|
1060 |
+
this._enter(null, this)
|
1061 |
+
}
|
1062 |
+
}, o.prototype.dispose = function() {
|
1063 |
+
clearTimeout(this._timeout), t.removeData(this.element, this.constructor.DATA_KEY), t(this.element).off(this.constructor.EVENT_KEY), t(this.element).closest(".modal").off("hide.bs.modal"), this.tip && t(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, null !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null
|
1064 |
+
}, o.prototype.show = function() {
|
1065 |
+
var e = this;
|
1066 |
+
if ("none" === t(this.element).css("display")) throw new Error("Please use show on visible elements");
|
1067 |
+
var n = t.Event(this.constructor.Event.SHOW);
|
1068 |
+
if (this.isWithContent() && this._isEnabled) {
|
1069 |
+
t(this.element).trigger(n);
|
1070 |
+
var i = t.contains(this.element.ownerDocument.documentElement, this.element);
|
1071 |
+
if (n.isDefaultPrevented() || !i) return;
|
1072 |
+
var r = this.getTipElement(),
|
1073 |
+
s = Util.getUID(this.constructor.NAME);
|
1074 |
+
r.setAttribute("id", s), this.element.setAttribute("aria-describedby", s), this.setContent(), this.config.animation && t(r).addClass(l.FADE);
|
1075 |
+
var a = "function" == typeof this.config.placement ? this.config.placement.call(this, r, this.element) : this.config.placement,
|
1076 |
+
u = this._getAttachment(a);
|
1077 |
+
this.addAttachmentClass(u);
|
1078 |
+
var h = !1 === this.config.container ? document.body : t(this.config.container);
|
1079 |
+
t(r).data(this.constructor.DATA_KEY, this), t.contains(this.element.ownerDocument.documentElement, this.tip) || t(r).appendTo(h), t(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new Popper(this.element, r, {
|
1080 |
+
placement: u,
|
1081 |
+
modifiers: {
|
1082 |
+
offset: {
|
1083 |
+
offset: this.config.offset
|
1084 |
+
},
|
1085 |
+
flip: {
|
1086 |
+
behavior: this.config.fallbackPlacement
|
1087 |
+
},
|
1088 |
+
mo2f_arrow: {
|
1089 |
+
element: c.ARROW
|
1090 |
+
}
|
1091 |
+
},
|
1092 |
+
onCreate: function(t) {
|
1093 |
+
t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t)
|
1094 |
+
},
|
1095 |
+
onUpdate: function(t) {
|
1096 |
+
e._handlePopperPlacementChange(t)
|
1097 |
+
}
|
1098 |
+
}), t(r).addClass(l.SHOW), "ontouchstart" in document.documentElement && t("body").children().on("mouseover", null, t.noop);
|
1099 |
+
var f = function() {
|
1100 |
+
e.config.animation && e._fixTransition();
|
1101 |
+
var n = e._hoverState;
|
1102 |
+
e._hoverState = null, t(e.element).trigger(e.constructor.Event.SHOWN), n === p.OUT && e._leave(null, e)
|
1103 |
+
};
|
1104 |
+
Util.supportsTransitionEnd() && t(this.tip).hasClass(l.FADE) ? t(this.tip).one(Util.TRANSITION_END, f).emulateTransitionEnd(o._TRANSITION_DURATION) : f()
|
1105 |
+
}
|
1106 |
+
}, o.prototype.hide = function(e) {
|
1107 |
+
var n = this,
|
1108 |
+
o = this.getTipElement(),
|
1109 |
+
i = t.Event(this.constructor.Event.HIDE),
|
1110 |
+
r = function() {
|
1111 |
+
n._hoverState !== p.SHOW && o.parentNode && o.parentNode.removeChild(o), n._cleanTipClass(), n.element.removeAttribute("aria-describedby"), t(n.element).trigger(n.constructor.Event.HIDDEN), null !== n._popper && n._popper.destroy(), e && e()
|
1112 |
+
};
|
1113 |
+
t(this.element).trigger(i), i.isDefaultPrevented() || (t(o).removeClass(l.SHOW), "ontouchstart" in document.documentElement && t("body").children().off("mouseover", null, t.noop), this._activeTrigger[h.CLICK] = !1, this._activeTrigger[h.FOCUS] = !1, this._activeTrigger[h.HOVER] = !1, Util.supportsTransitionEnd() && t(this.tip).hasClass(l.FADE) ? t(o).one(Util.TRANSITION_END, r).emulateTransitionEnd(150) : r(), this._hoverState = "")
|
1114 |
+
}, o.prototype.update = function() {
|
1115 |
+
null !== this._popper && this._popper.scheduleUpdate()
|
1116 |
+
}, o.prototype.isWithContent = function() {
|
1117 |
+
return Boolean(this.getTitle())
|
1118 |
+
}, o.prototype.addAttachmentClass = function(e) {
|
1119 |
+
t(this.getTipElement()).addClass("bs-tooltip-" + e)
|
1120 |
+
}, o.prototype.getTipElement = function() {
|
1121 |
+
return this.tip = this.tip || t(this.config.template)[0]
|
1122 |
+
}, o.prototype.setContent = function() {
|
1123 |
+
var e = t(this.getTipElement());
|
1124 |
+
this.setElementContent(e.find(c.TOOLTIP_INNER), this.getTitle()), e.removeClass(l.FADE + " " + l.SHOW)
|
1125 |
+
}, o.prototype.setElementContent = function(e, n) {
|
1126 |
+
var o = this.config.html;
|
1127 |
+
"object" === (void 0 === n ? "undefined" : _typeof(n)) && (n.nodeType || n.jquery) ? o ? t(n).parent().is(e) || e.empty().append(n) : e.text(t(n).text()): e[o ? "html" : "text"](n)
|
1128 |
+
}, o.prototype.getTitle = function() {
|
1129 |
+
var t = this.element.getAttribute("data-original-title");
|
1130 |
+
return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t
|
1131 |
+
}, o.prototype._getAttachment = function(t) {
|
1132 |
+
return s[t.toUpperCase()]
|
1133 |
+
}, o.prototype._setListeners = function() {
|
1134 |
+
var e = this;
|
1135 |
+
this.config.trigger.split(" ").forEach(function(n) {
|
1136 |
+
if ("click" === n) t(e.element).on(e.constructor.Event.CLICK, e.config.selector, function(t) {
|
1137 |
+
return e.toggle(t)
|
1138 |
+
});
|
1139 |
+
else if (n !== h.MANUAL) {
|
1140 |
+
var o = n === h.HOVER ? e.constructor.Event.MOUSEENTER : e.constructor.Event.FOCUSIN,
|
1141 |
+
i = n === h.HOVER ? e.constructor.Event.MOUSELEAVE : e.constructor.Event.FOCUSOUT;
|
1142 |
+
t(e.element).on(o, e.config.selector, function(t) {
|
1143 |
+
return e._enter(t)
|
1144 |
+
}).on(i, e.config.selector, function(t) {
|
1145 |
+
return e._leave(t)
|
1146 |
+
})
|
1147 |
+
}
|
1148 |
+
t(e.element).closest(".modal").on("hide.bs.modal", function() {
|
1149 |
+
return e.hide()
|
1150 |
+
})
|
1151 |
+
}), this.config.selector ? this.config = t.extend({}, this.config, {
|
1152 |
+
trigger: "manual",
|
1153 |
+
selector: ""
|
1154 |
+
}) : this._fixTitle()
|
1155 |
+
}, o.prototype._fixTitle = function() {
|
1156 |
+
var t = _typeof(this.element.getAttribute("data-original-title"));
|
1157 |
+
(this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", ""))
|
1158 |
+
}, o.prototype._enter = function(e, n) {
|
1159 |
+
var o = this.constructor.DATA_KEY;
|
1160 |
+
(n = n || t(e.currentTarget).data(o)) || (n = new this.constructor(e.currentTarget, this._getDelegateConfig()), t(e.currentTarget).data(o, n)), e && (n._activeTrigger["focusin" === e.type ? h.FOCUS : h.HOVER] = !0), t(n.getTipElement()).hasClass(l.SHOW) || n._hoverState === p.SHOW ? n._hoverState = p.SHOW : (clearTimeout(n._timeout), n._hoverState = p.SHOW, n.config.delay && n.config.delay.show ? n._timeout = setTimeout(function() {
|
1161 |
+
n._hoverState === p.SHOW && n.show()
|
1162 |
+
}, n.config.delay.show) : n.show())
|
1163 |
+
}, o.prototype._leave = function(e, n) {
|
1164 |
+
var o = this.constructor.DATA_KEY;
|
1165 |
+
(n = n || t(e.currentTarget).data(o)) || (n = new this.constructor(e.currentTarget, this._getDelegateConfig()), t(e.currentTarget).data(o, n)), e && (n._activeTrigger["focusout" === e.type ? h.FOCUS : h.HOVER] = !1), n._isWithActiveTrigger() || (clearTimeout(n._timeout), n._hoverState = p.OUT, n.config.delay && n.config.delay.hide ? n._timeout = setTimeout(function() {
|
1166 |
+
n._hoverState === p.OUT && n.hide()
|
1167 |
+
}, n.config.delay.hide) : n.hide())
|
1168 |
+
}, o.prototype._isWithActiveTrigger = function() {
|
1169 |
+
for (var t in this._activeTrigger)
|
1170 |
+
if (this._activeTrigger[t]) return !0;
|
1171 |
+
return !1
|
1172 |
+
}, o.prototype._getConfig = function(n) {
|
1173 |
+
return (n = t.extend({}, this.constructor.Default, t(this.element).data(), n)).delay && "number" == typeof n.delay && (n.delay = {
|
1174 |
+
show: n.delay,
|
1175 |
+
hide: n.delay
|
1176 |
+
}), n.title && "number" == typeof n.title && (n.title = n.title.toString()), n.content && "number" == typeof n.content && (n.content = n.content.toString()), Util.typeCheckConfig(e, n, this.constructor.DefaultType), n
|
1177 |
+
}, o.prototype._getDelegateConfig = function() {
|
1178 |
+
var t = {};
|
1179 |
+
if (this.config)
|
1180 |
+
for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]);
|
1181 |
+
return t
|
1182 |
+
}, o.prototype._cleanTipClass = function() {
|
1183 |
+
var e = t(this.getTipElement()),
|
1184 |
+
n = e.attr("class").match(i);
|
1185 |
+
null !== n && n.length > 0 && e.removeClass(n.join(""))
|
1186 |
+
}, o.prototype._handlePopperPlacementChange = function(t) {
|
1187 |
+
this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement))
|
1188 |
+
}, o.prototype._fixTransition = function() {
|
1189 |
+
var e = this.getTipElement(),
|
1190 |
+
n = this.config.animation;
|
1191 |
+
null === e.getAttribute("x-placement") && (t(e).removeClass(l.FADE), this.config.animation = !1, this.hide(), this.show(), this.config.animation = n)
|
1192 |
+
}, o._jQueryInterface = function(e) {
|
1193 |
+
return this.each(function() {
|
1194 |
+
var n = t(this).data("bs.tooltip"),
|
1195 |
+
i = "object" === (void 0 === e ? "undefined" : _typeof(e)) && e;
|
1196 |
+
if ((n || !/dispose|hide/.test(e)) && (n || (n = new o(this, i), t(this).data("bs.tooltip", n)), "string" == typeof e)) {
|
1197 |
+
if (void 0 === n[e]) throw new Error('No method named "' + e + '"');
|
1198 |
+
n[e]()
|
1199 |
+
}
|
1200 |
+
})
|
1201 |
+
}, _createClass(o, null, [{
|
1202 |
+
key: "VERSION",
|
1203 |
+
get: function() {
|
1204 |
+
return "4.0.0-beta"
|
1205 |
+
}
|
1206 |
+
}, {
|
1207 |
+
key: "Default",
|
1208 |
+
get: function() {
|
1209 |
+
return a
|
1210 |
+
}
|
1211 |
+
}, {
|
1212 |
+
key: "NAME",
|
1213 |
+
get: function() {
|
1214 |
+
return e
|
1215 |
+
}
|
1216 |
+
}, {
|
1217 |
+
key: "DATA_KEY",
|
1218 |
+
get: function() {
|
1219 |
+
return "bs.tooltip"
|
1220 |
+
}
|
1221 |
+
}, {
|
1222 |
+
key: "Event",
|
1223 |
+
get: function() {
|
1224 |
+
return u
|
1225 |
+
}
|
1226 |
+
}, {
|
1227 |
+
key: "EVENT_KEY",
|
1228 |
+
get: function() {
|
1229 |
+
return n
|
1230 |
+
}
|
1231 |
+
}, {
|
1232 |
+
key: "DefaultType",
|
1233 |
+
get: function() {
|
1234 |
+
return r
|
1235 |
+
}
|
1236 |
+
}]), o
|
1237 |
+
}();
|
1238 |
+
return t.fn[e] = f._jQueryInterface, t.fn[e].Constructor = f, t.fn[e].noConflict = function() {
|
1239 |
+
return t.fn[e] = o, f._jQueryInterface
|
1240 |
+
}, f
|
1241 |
+
}(jQuery),
|
1242 |
+
_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
|
1243 |
+
return typeof t
|
1244 |
+
} : function(t) {
|
1245 |
+
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
|
1246 |
+
},
|
1247 |
+
_createClass = function() {
|
1248 |
+
function t(t, e) {
|
1249 |
+
for (var n = 0; n < e.length; n++) {
|
1250 |
+
var o = e[n];
|
1251 |
+
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(t, o.key, o)
|
1252 |
+
}
|
1253 |
+
}
|
1254 |
+
return function(e, n, o) {
|
1255 |
+
return n && t(e.prototype, n), o && t(e, o), e
|
1256 |
+
}
|
1257 |
+
}(),
|
1258 |
+
mo2f_popover = function(t) {
|
1259 |
+
var e = "mo2f_popover",
|
1260 |
+
n = ".bs.mo2f_popover",
|
1261 |
+
o = t.fn[e],
|
1262 |
+
i = new RegExp("(^|\\s)bs-mo2f_popover\\S+", "g"),
|
1263 |
+
r = t.extend({}, Tooltip.Default, {
|
1264 |
+
placement: "right",
|
1265 |
+
trigger: "click",
|
1266 |
+
content: "",
|
1267 |
+
template: '<div class="mo2f_popover" role="tooltip"><div class="mo2f_arrow"></div><h3 class="mo2f_popover-header"></h3><div class="mo2f_popover-body"></div></div>'
|
1268 |
+
}),
|
1269 |
+
s = t.extend({}, Tooltip.DefaultType, {
|
1270 |
+
content: "(string|element|function)"
|
1271 |
+
}),
|
1272 |
+
a = {
|
1273 |
+
FADE: "fade",
|
1274 |
+
SHOW: "show"
|
1275 |
+
},
|
1276 |
+
p = {
|
1277 |
+
TITLE: ".mo2f_popover-header",
|
1278 |
+
CONTENT: ".mo2f_popover-body"
|
1279 |
+
},
|
1280 |
+
u = {
|
1281 |
+
HIDE: "hide" + n,
|
1282 |
+
HIDDEN: "hidden" + n,
|
1283 |
+
SHOW: "show" + n,
|
1284 |
+
SHOWN: "shown" + n,
|
1285 |
+
INSERTED: "inserted" + n,
|
1286 |
+
CLICK: "click" + n,
|
1287 |
+
FOCUSIN: "focusin" + n,
|
1288 |
+
FOCUSOUT: "focusout" + n,
|
1289 |
+
MOUSEENTER: "mouseenter" + n,
|
1290 |
+
MOUSELEAVE: "mouseleave" + n
|
1291 |
+
},
|
1292 |
+
l = function(o) {
|
1293 |
+
function l() {
|
1294 |
+
return _classCallCheck(this, l), _possibleConstructorReturn(this, o.apply(this, arguments))
|
1295 |
+
}
|
1296 |
+
return _inherits(l, o), l.prototype.isWithContent = function() {
|
1297 |
+
return this.getTitle() || this._getContent()
|
1298 |
+
}, l.prototype.addAttachmentClass = function(e) {
|
1299 |
+
t(this.getTipElement()).addClass("bs-mo2f_popover-" + e)
|
1300 |
+
}, l.prototype.getTipElement = function() {
|
1301 |
+
return this.tip = this.tip || t(this.config.template)[0]
|
1302 |
+
}, l.prototype.setContent = function() {
|
1303 |
+
var e = t(this.getTipElement());
|
1304 |
+
this.setElementContent(e.find(p.TITLE), this.getTitle()), this.setElementContent(e.find(p.CONTENT), this._getContent()), e.removeClass(a.FADE + " " + a.SHOW)
|
1305 |
+
}, l.prototype._getContent = function() {
|
1306 |
+
return this.element.getAttribute("data-content") || ("function" == typeof this.config.content ? this.config.content.call(this.element) : this.config.content)
|
1307 |
+
}, l.prototype._cleanTipClass = function() {
|
1308 |
+
var e = t(this.getTipElement()),
|
1309 |
+
n = e.attr("class").match(i);
|
1310 |
+
null !== n && n.length > 0 && e.removeClass(n.join(""))
|
1311 |
+
}, l._jQueryInterface = function(e) {
|
1312 |
+
return this.each(function() {
|
1313 |
+
var n = t(this).data("bs.mo2f_popover"),
|
1314 |
+
o = "object" === (void 0 === e ? "undefined" : _typeof(e)) ? e : null;
|
1315 |
+
if ((n || !/destroy|hide/.test(e)) && (n || (n = new l(this, o), t(this).data("bs.mo2f_popover", n)), "string" == typeof e)) {
|
1316 |
+
if (void 0 === n[e]) throw new Error('No method named "' + e + '"');
|
1317 |
+
n[e]()
|
1318 |
+
}
|
1319 |
+
})
|
1320 |
+
}, _createClass(l, null, [{
|
1321 |
+
key: "VERSION",
|
1322 |
+
get: function() {
|
1323 |
+
return "4.0.0-beta"
|
1324 |
+
}
|
1325 |
+
}, {
|
1326 |
+
key: "Default",
|
1327 |
+
get: function() {
|
1328 |
+
return r
|
1329 |
+
}
|
1330 |
+
}, {
|
1331 |
+
key: "NAME",
|
1332 |
+
get: function() {
|
1333 |
+
return e
|
1334 |
+
}
|
1335 |
+
}, {
|
1336 |
+
key: "DATA_KEY",
|
1337 |
+
get: function() {
|
1338 |
+
return "bs.mo2f_popover"
|
1339 |
+
}
|
1340 |
+
}, {
|
1341 |
+
key: "Event",
|
1342 |
+
get: function() {
|
1343 |
+
return u
|
1344 |
+
}
|
1345 |
+
}, {
|
1346 |
+
key: "EVENT_KEY",
|
1347 |
+
get: function() {
|
1348 |
+
return n
|
1349 |
+
}
|
1350 |
+
}, {
|
1351 |
+
key: "DefaultType",
|
1352 |
+
get: function() {
|
1353 |
+
return s
|
1354 |
+
}
|
1355 |
+
}]), l
|
1356 |
+
}(Tooltip);
|
1357 |
+
return t.fn[e] = l._jQueryInterface, t.fn[e].Constructor = l, t.fn[e].noConflict = function() {
|
1358 |
+
return t.fn[e] = o, l._jQueryInterface
|
1359 |
+
}, l
|
1360 |
+
}(jQuery),
|
1361 |
+
bind = function(t, e) {
|
1362 |
+
return function() {
|
1363 |
+
return t.apply(e, arguments)
|
1364 |
+
}
|
1365 |
+
};
|
1366 |
+
! function(t, e) {
|
1367 |
+
"function" == typeof define && define.amd ? define(["jquery"], function(n) {
|
1368 |
+
return t.Tour = e(n)
|
1369 |
+
}) : "object" == typeof exports ? module.exports = e(require("jquery")) : t.Tour = e(t.jQuery)
|
1370 |
+
}(window, function(t) {
|
1371 |
+
var e;
|
1372 |
+
return e = window.document,
|
1373 |
+
function() {
|
1374 |
+
function n(e) {
|
1375 |
+
this._showmo2f_popoverAndOverlay = bind(this._showmo2f_popoverAndOverlay, this);
|
1376 |
+
var n;
|
1377 |
+
try {
|
1378 |
+
n = window.localStorage
|
1379 |
+
} catch (t) {
|
1380 |
+
n = !1
|
1381 |
+
}
|
1382 |
+
this._options = t.extend({
|
1383 |
+
name: "tour",
|
1384 |
+
steps: [],
|
1385 |
+
container: "body",
|
1386 |
+
autoscroll: !0,
|
1387 |
+
keyboard: !0,
|
1388 |
+
storage: n,
|
1389 |
+
debug: !1,
|
1390 |
+
backdrop: !1,
|
1391 |
+
backdropContainer: "body",
|
1392 |
+
backdropPadding: 0,
|
1393 |
+
redirect: !0,
|
1394 |
+
orphan: !1,
|
1395 |
+
duration: !1,
|
1396 |
+
delay: !1,
|
1397 |
+
basePath: "",
|
1398 |
+
//template: '<div class="mo2f_popover" role="tooltip"> <div class="mo2f_arrow" ></div> <h3 class="mo2f_popover-header" style="margin-top:0px;"></h3> <div class="mo2f_popover-body"></div> <div class="mo2f_popover-navigation"> <div class="mo2f_tour_btn-group"> <button class="mo2f_tour_btn mo2f_tour_btn-sm mo2f_tour_btn-secondary mo2f_tour_btn_next-success" data-role="next">Next »</button> <button class="mo2f_tour_btn mo2f_tour_btn-sm mo2f_tour_btn-secondary" data-role="pause-resume" data-pause-text="Pause" data-resume-text="Resume">Pause</button> </div> <button class="button button-primary button-large" data-role="end">End tour</button> </div> </div>',
|
1399 |
+
|
1400 |
+
afterSetState: function(t, e) {},
|
1401 |
+
afterGetState: function(t, e) {},
|
1402 |
+
afterRemoveState: function(t) {},
|
1403 |
+
onStart: function(t) {},
|
1404 |
+
onEnd: function(t) {},
|
1405 |
+
onShow: function(t) {},
|
1406 |
+
onShown: function(t) {},
|
1407 |
+
onHide: function(t) {},
|
1408 |
+
onHidden: function(t) {},
|
1409 |
+
onNext: function(t) {},
|
1410 |
+
onPrev: function(t) {},
|
1411 |
+
onPause: function(t, e) {},
|
1412 |
+
onResume: function(t, e) {},
|
1413 |
+
onRedirectError: function(t) {}
|
1414 |
+
}, e), this._force = !1, this._inited = !1, this._current = null, this.backdrops = []
|
1415 |
+
}
|
1416 |
+
return n.prototype.addSteps = function(t) {
|
1417 |
+
var e, n, o;
|
1418 |
+
for (e = 0, n = t.length; e < n; e++) o = t[e], this.addStep(o);
|
1419 |
+
return this
|
1420 |
+
}, n.prototype.addStep = function(t) {
|
1421 |
+
return this._options.steps.push(t), this
|
1422 |
+
}, n.prototype.getStep = function(e) {
|
1423 |
+
if (null != this._options.steps[e]) return t.extend({
|
1424 |
+
id: "step-" + e,
|
1425 |
+
path: "",
|
1426 |
+
host: "",
|
1427 |
+
placement: "right",
|
1428 |
+
title: "",
|
1429 |
+
content: "<p></p>",
|
1430 |
+
next: e === this._options.steps.length - 1 ? -1 : e + 1,
|
1431 |
+
prev: e - 1,
|
1432 |
+
animation: !0,
|
1433 |
+
container: this._options.container,
|
1434 |
+
autoscroll: this._options.autoscroll,
|
1435 |
+
backdrop: this._options.backdrop,
|
1436 |
+
backdropContainer: this._options.backdropContainer,
|
1437 |
+
backdropPadding: this._options.backdropPadding,
|
1438 |
+
redirect: this._options.redirect,
|
1439 |
+
reflexElement: this._options.steps[e].element,
|
1440 |
+
backdropElement: this._options.steps[e].element,
|
1441 |
+
orphan: this._options.orphan,
|
1442 |
+
duration: this._options.duration,
|
1443 |
+
delay: this._options.delay,
|
1444 |
+
template: this._options.template,
|
1445 |
+
onShow: this._options.onShow,
|
1446 |
+
onShown: this._options.onShown,
|
1447 |
+
onHide: this._options.onHide,
|
1448 |
+
onHidden: this._options.onHidden,
|
1449 |
+
onNext: this._options.onNext,
|
1450 |
+
onPrev: this._options.onPrev,
|
1451 |
+
onPause: this._options.onPause,
|
1452 |
+
onResume: this._options.onResume,
|
1453 |
+
onRedirectError: this._options.onRedirectError
|
1454 |
+
}, this._options.steps[e])
|
1455 |
+
}, n.prototype.init = function(t) {
|
1456 |
+
return this._force = t, this.ended() ? (this._debug("Tour ended, init prevented."), this) : (this.setCurrentStep(), this._initMouseNavigation(), this._initKeyboardNavigation(), null !== this._current && this.showStep(this._current), this._inited = !0, this)
|
1457 |
+
}, n.prototype.start = function(t) {
|
1458 |
+
var e;
|
1459 |
+
return null == t && (t = !1), this._inited || this.init(t), null === this._current && (e = this._makePromise(null != this._options.onStart ? this._options.onStart(this) : void 0), this._callOnPromiseDone(e, this.showStep, 0)), this
|
1460 |
+
}, n.prototype.next = function() {
|
1461 |
+
var t;
|
1462 |
+
return t = this.hideStep(this._current, this._current + 1), this._callOnPromiseDone(t, this._showNextStep)
|
1463 |
+
}, n.prototype.prev = function() {
|
1464 |
+
var t;
|
1465 |
+
return t = this.hideStep(this._current, this._current - 1), this._callOnPromiseDone(t, this._showPrevStep)
|
1466 |
+
}, n.prototype.goTo = function(t) {
|
1467 |
+
var e;
|
1468 |
+
return e = this.hideStep(this._current, t), this._callOnPromiseDone(e, this.showStep, t)
|
1469 |
+
}, n.prototype.end = function() {
|
1470 |
+
var n, o;
|
1471 |
+
return n = function(n) {
|
1472 |
+
return function(o) {
|
1473 |
+
if (t(e).off("click.tour-" + n._options.name), t(e).off("keyup.tour-" + n._options.name), n._setState("end", "yes"), n._inited = !1, n._force = !1, n._clearTimer(), null != n._options.onEnd) return n._options.onEnd(n)
|
1474 |
+
}
|
1475 |
+
}(this), o = this.hideStep(this._current), this._callOnPromiseDone(o, n)
|
1476 |
+
}, n.prototype.ended = function() {
|
1477 |
+
return !this._force && !!this._getState("end")
|
1478 |
+
}, n.prototype.restart = function() {
|
1479 |
+
return this._removeState("current_step"), this._removeState("end"), this._removeState("redirect_to"), this.start()
|
1480 |
+
}, n.prototype.pause = function() {
|
1481 |
+
var t;
|
1482 |
+
return (t = this.getStep(this._current)) && t.duration ? (this._paused = !0, this._duration -= (new Date).getTime() - this._start, window.clearTimeout(this._timer), this._debug("Paused/Stopped step " + (this._current + 1) + " timer (" + this._duration + " remaining)."), null != t.onPause ? t.onPause(this, this._duration) : void 0) : this
|
1483 |
+
}, n.prototype.resume = function() {
|
1484 |
+
var t;
|
1485 |
+
return (t = this.getStep(this._current)) && t.duration ? (this._paused = !1, this._start = (new Date).getTime(), this._duration = this._duration || t.duration, this._timer = window.setTimeout(function(t) {
|
1486 |
+
return function() {
|
1487 |
+
return t._isLast() ? t.next() : t.end()
|
1488 |
+
}
|
1489 |
+
}(this), this._duration), this._debug("Started step " + (this._current + 1) + " timer with duration " + this._duration), null != t.onResume && this._duration !== t.duration ? t.onResume(this, this._duration) : void 0) : this
|
1490 |
+
}, n.prototype.hideStep = function(e, n) {
|
1491 |
+
var o, i, r, s;
|
1492 |
+
if (s = this.getStep(e)) return this._clearTimer(), r = this._makePromise(null != s.onHide ? s.onHide(this, e) : void 0), i = function(o) {
|
1493 |
+
return function(i) {
|
1494 |
+
var r, a;
|
1495 |
+
if ((r = t(s.element)).data("bs.mo2f_popover") || (r = t("body")), r.mo2f_popover("dispose").removeClass("tour-" + o._options.name + "-element tour-" + o._options.name + "-" + e + "-element").removeData("bs.mo2f_popover"), s.reflex && t(s.reflexElement).removeClass("tour-step-element-reflex").off(o._reflexEvent(s.reflex) + ".tour-" + o._options.name), s.backdrop && ((a = null != n && o.getStep(n)) && a.backdrop && a.backdropElement === s.backdropElement || o._hideOverlayElement(s)), null != s.onHidden) return s.onHidden(o)
|
1496 |
+
}
|
1497 |
+
}(this), o = s.delay.hide || s.delay, "[object Number]" === {}.toString.call(o) && o > 0 ? (this._debug("Wait " + o + " milliseconds to hide the step " + (this._current + 1)), window.setTimeout(function(t) {
|
1498 |
+
return function() {
|
1499 |
+
return t._callOnPromiseDone(r, i)
|
1500 |
+
}
|
1501 |
+
}(this), o)) : this._callOnPromiseDone(r, i), r
|
1502 |
+
}, n.prototype.showStep = function(t) {
|
1503 |
+
var n, o, i, r, s, a;
|
1504 |
+
return this.ended() ? (this._debug("Tour ended, showStep prevented."), this) : (a = this.getStep(t)) && (s = t < this._current, o = this._makePromise(null != a.onShow ? a.onShow(this, t) : void 0), this.setCurrentStep(t), n = function() {
|
1505 |
+
switch ({}.toString.call(a.path)) {
|
1506 |
+
case "[object Function]":
|
1507 |
+
return a.path();
|
1508 |
+
case "[object String]":
|
1509 |
+
return this._options.basePath + a.path;
|
1510 |
+
default:
|
1511 |
+
return a.path
|
1512 |
+
}
|
1513 |
+
}.call(this), !a.redirect || !this._isRedirect(a.host, n, e.location) || (this._redirect(a, t, n), this._isJustPathHashDifferent(a.host, n, e.location))) ? (r = function(e) {
|
1514 |
+
return function(n) {
|
1515 |
+
if (e._isOrphan(a)) {
|
1516 |
+
if (!1 === a.orphan) return e._debug("Skip the orphan step " + (e._current + 1) + ".\nOrphan option is false and the element does not exist or is hidden."), void(s ? e._showPrevStep() : e._showNextStep());
|
1517 |
+
e._debug("Show the orphan step " + (e._current + 1) + ". Orphans option is true.")
|
1518 |
+
}
|
1519 |
+
if (a.autoscroll ? e._scrollIntoView(t) : e._showmo2f_popoverAndOverlay(t), a.duration) return e.resume()
|
1520 |
+
}
|
1521 |
+
}(this), i = a.delay.show || a.delay, "[object Number]" === {}.toString.call(i) && i > 0 ? (this._debug("Wait " + i + " milliseconds to show the step " + (this._current + 1)), window.setTimeout(function(t) {
|
1522 |
+
return function() {
|
1523 |
+
return t._callOnPromiseDone(o, r)
|
1524 |
+
}
|
1525 |
+
}(this), i)) : this._callOnPromiseDone(o, r), o) : void 0
|
1526 |
+
}, n.prototype.getCurrentStep = function() {
|
1527 |
+
return this._current
|
1528 |
+
}, n.prototype.setCurrentStep = function(t) {
|
1529 |
+
return null != t ? (this._current = t, this._setState("current_step", t)) : (this._current = this._getState("current_step"), this._current = null === this._current ? null : parseInt(this._current, 10)), this
|
1530 |
+
}, n.prototype.redraw = function() {
|
1531 |
+
return this._showOverlayElement(this.getStep(this.getCurrentStep()))
|
1532 |
+
}, n.prototype._setState = function(t, e) {
|
1533 |
+
var n;
|
1534 |
+
if (this._options.storage) {
|
1535 |
+
n = this._options.name + "_" + t;
|
1536 |
+
try {
|
1537 |
+
this._options.storage.setItem(n, e)
|
1538 |
+
} catch (t) {
|
1539 |
+
t.code === DOMException.QUOTA_EXCEEDED_ERR && this._debug("LocalStorage quota exceeded. State storage failed.")
|
1540 |
+
}
|
1541 |
+
return this._options.afterSetState(n, e)
|
1542 |
+
}
|
1543 |
+
return null == this._state && (this._state = {}), this._state[t] = e
|
1544 |
+
}, n.prototype._removeState = function(t) {
|
1545 |
+
var e;
|
1546 |
+
return this._options.storage ? (e = this._options.name + "_" + t, this._options.storage.removeItem(e), this._options.afterRemoveState(e)) : null != this._state ? delete this._state[t] : void 0
|
1547 |
+
}, n.prototype._getState = function(t) {
|
1548 |
+
var e, n;
|
1549 |
+
return this._options.storage ? (e = this._options.name + "_" + t, n = this._options.storage.getItem(e)) : null != this._state && (n = this._state[t]), void 0 !== n && "null" !== n || (n = null), this._options.afterGetState(t, n), n
|
1550 |
+
}, n.prototype._showNextStep = function() {
|
1551 |
+
var t, e, n;
|
1552 |
+
return n = this.getStep(this._current), e = function(t) {
|
1553 |
+
return function(e) {
|
1554 |
+
return t.showStep(n.next)
|
1555 |
+
}
|
1556 |
+
}(this), t = this._makePromise(null != n.onNext ? n.onNext(this) : void 0), this._callOnPromiseDone(t, e)
|
1557 |
+
}, n.prototype._showPrevStep = function() {
|
1558 |
+
var t, e, n;
|
1559 |
+
return n = this.getStep(this._current), e = function(t) {
|
1560 |
+
return function(e) {
|
1561 |
+
return t.showStep(n.prev)
|
1562 |
+
}
|
1563 |
+
}(this), t = this._makePromise(null != n.onPrev ? n.onPrev(this) : void 0), this._callOnPromiseDone(t, e)
|
1564 |
+
}, n.prototype._debug = function(t) {
|
1565 |
+
if (this._options.debug) return window.console.log("Bootstrap Tour '" + this._options.name + "' | " + t)
|
1566 |
+
}, n.prototype._isRedirect = function(t, e, n) {
|
1567 |
+
var o;
|
1568 |
+
return !(null == t || "" === t || !("[object RegExp]" === {}.toString.call(t) && !t.test(n.origin) || "[object String]" === {}.toString.call(t) && this._isHostDifferent(t, n))) || (o = [n.pathname, n.search, n.hash].join(""), null != e && "" !== e && ("[object RegExp]" === {}.toString.call(e) && !e.test(o) || "[object String]" === {}.toString.call(e) && this._isPathDifferent(e, o)))
|
1569 |
+
}, n.prototype._isHostDifferent = function(t, e) {
|
1570 |
+
switch ({}.toString.call(t)) {
|
1571 |
+
case "[object RegExp]":
|
1572 |
+
return !t.test(e.origin);
|
1573 |
+
case "[object String]":
|
1574 |
+
return this._getProtocol(t) !== this._getProtocol(e.href) || this._getHost(t) !== this._getHost(e.href);
|
1575 |
+
default:
|
1576 |
+
return !0
|
1577 |
+
}
|
1578 |
+
}, n.prototype._isPathDifferent = function(t, e) {
|
1579 |
+
return this._getPath(t) !== this._getPath(e) || !this._equal(this._getQuery(t), this._getQuery(e)) || !this._equal(this._getHash(t), this._getHash(e))
|
1580 |
+
}, n.prototype._isJustPathHashDifferent = function(t, e, n) {
|
1581 |
+
var o;
|
1582 |
+
return (null == t || "" === t || !this._isHostDifferent(t, n)) && (o = [n.pathname, n.search, n.hash].join(""), "[object String]" === {}.toString.call(e) && (this._getPath(e) === this._getPath(o) && this._equal(this._getQuery(e), this._getQuery(o)) && !this._equal(this._getHash(e), this._getHash(o))))
|
1583 |
+
}, n.prototype._redirect = function(n, o, i) {
|
1584 |
+
var r;
|
1585 |
+
return t.isFunction(n.redirect) ? n.redirect.call(this, i) : (r = "[object String]" === {}.toString.call(n.host) ? "" + n.host + i : i, this._debug("Redirect to " + r), this._getState("redirect_to") !== "" + o ? (this._setState("redirect_to", "" + o), e.location.href = r) : (this._debug("Error redirection loop to " + i), this._removeState("redirect_to"), null != n.onRedirectError ? n.onRedirectError(this) : void 0))
|
1586 |
+
}, n.prototype._isOrphan = function(e) {
|
1587 |
+
return null == e.element || !t(e.element).length || t(e.element).is(":hidden") && "http://www.w3.org/2000/svg" !== t(e.element)[0].namespaceURI
|
1588 |
+
}, n.prototype._isLast = function() {
|
1589 |
+
return this._current < this._options.steps.length - 1
|
1590 |
+
}, n.prototype._showmo2f_popoverAndOverlay = function(t) {
|
1591 |
+
var e;
|
1592 |
+
if (this.getCurrentStep() === t && !this.ended()) return (e = this.getStep(t)).backdrop && this._showOverlayElement(e), this._showmo2f_popover(e, t), null != e.onShown && e.onShown(this), this._debug("Step " + (this._current + 1) + " of " + this._options.steps.length)
|
1593 |
+
}, n.prototype._showmo2f_popover = function(e, n) {
|
1594 |
+
var o, i, r;
|
1595 |
+
return t(".tour-" + this._options.name).remove(), r = t.extend({}, this._options), i = this._isOrphan(e), e.template = this._template(e, n), i && (e.element = "body", e.placement = "top"), (o = t(e.element)).addClass("tour-" + this._options.name + "-element tour-" + this._options.name + "-" + n + "-element"), e.options && t.extend(r, e.options), e.reflex && !i && t(e.reflexElement).addClass("tour-step-element-reflex").off(this._reflexEvent(e.reflex) + ".tour-" + this._options.name).on(this._reflexEvent(e.reflex) + ".tour-" + this._options.name, function(t) {
|
1596 |
+
return function() {
|
1597 |
+
return t._isLast() ? t.next() : t.end()
|
1598 |
+
}
|
1599 |
+
}(this)), o.mo2f_popover({
|
1600 |
+
placement: e.placement,
|
1601 |
+
trigger: "manual",
|
1602 |
+
title: e.title,
|
1603 |
+
content: e.content,
|
1604 |
+
html: !0,
|
1605 |
+
animation: e.animation,
|
1606 |
+
container: e.container,
|
1607 |
+
template: e.template,
|
1608 |
+
selector: e.element
|
1609 |
+
}).mo2f_popover("show"), t(o.data("bs.mo2f_popover").getTipElement()).attr("id", e.id)
|
1610 |
+
}, n.prototype._template = function(e, n) {
|
1611 |
+
var o, i, r, s, a, p;
|
1612 |
+
return p = e.template, this._isOrphan(e) && "[object Boolean]" !== {}.toString.call(e.orphan) && (p = e.orphan), a = t(t.isFunction(p) ? p(n, e) : p), o = a.find(".mo2f_popover-navigation"), r = o.find('[data-role="prev"]'), i = o.find('[data-role="next"]'), s = o.find('[data-role="pause-resume"]'), this._isOrphan(e) && a.addClass("orphan"), a.addClass("tour-" + this._options.name + " tour-" + this._options.name + "-" + n), e.reflex && a.addClass("tour-" + this._options.name + "-reflex"), e.prev < 0 && r.addClass("disabled").prop("disabled", !0).prop("tabindex", -1), e.next < 0 && i.addClass("disabled").prop("disabled", !0).prop("tabindex", -1), e.duration || s.remove(), a.clone().wrap("<div>").parent().html()
|
1613 |
+
}, n.prototype._reflexEvent = function(t) {
|
1614 |
+
return "[object Boolean]" === {}.toString.call(t) ? "click" : t
|
1615 |
+
}, n.prototype._scrollIntoView = function(e) {
|
1616 |
+
var n, o, i, r, s, a, p, u;
|
1617 |
+
if (p = this.getStep(e), !(n = t(p.element)).length) return this._showmo2f_popoverAndOverlay(e);
|
1618 |
+
switch (o = t(window), s = n.offset().top, r = n.outerHeight(), u = o.height(), a = 0, p.placement) {
|
1619 |
+
case "top":
|
1620 |
+
a = Math.max(0, s - u / 2);
|
1621 |
+
break;
|
1622 |
+
case "left":
|
1623 |
+
case "right":
|
1624 |
+
a = Math.max(0, s + r / 2 - u / 2);
|
1625 |
+
break;
|
1626 |
+
case "bottom":
|
1627 |
+
a = Math.max(0, s + r - u / 2)
|
1628 |
+
}
|
1629 |
+
return this._debug("Scroll into view. ScrollTop: " + a + ". Element offset: " + s + ". Window height: " + u + "."), i = 0, t("body, html").stop(!0, !0).animate({
|
1630 |
+
scrollTop: Math.ceil(a)
|
1631 |
+
}, function(t) {
|
1632 |
+
return function() {
|
1633 |
+
if (2 == ++i) return t._showmo2f_popoverAndOverlay(e), t._debug("Scroll into view.\nAnimation end element offset: " + n.offset().top + ".\nWindow height: " + o.height() + ".")
|
1634 |
+
}
|
1635 |
+
}(this))
|
1636 |
+
}, n.prototype._initMouseNavigation = function() {
|
1637 |
+
var n;
|
1638 |
+
return n = this, t(e).off("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='prev']").off("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='next']").off("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='end']").off("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='pause-resume']").on("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='next']", function(t) {
|
1639 |
+
return function(e) {
|
1640 |
+
return e.preventDefault(), t.next()
|
1641 |
+
}
|
1642 |
+
}(this)).on("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='prev']", function(t) {
|
1643 |
+
return function(e) {
|
1644 |
+
if (e.preventDefault(), t._current > 0) return t.prev()
|
1645 |
+
}
|
1646 |
+
}(this)).on("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='end']", function(t) {
|
1647 |
+
return function(e) {
|
1648 |
+
return e.preventDefault(), t.end()
|
1649 |
+
}
|
1650 |
+
}(this)).on("click.tour-" + this._options.name, ".mo2f_popover.tour-" + this._options.name + " *[data-role='pause-resume']", function(e) {
|
1651 |
+
var o;
|
1652 |
+
return e.preventDefault(), (o = t(this)).text(n._paused ? o.data("pause-text") : o.data("resume-text")), n._paused ? n.resume() : n.pause()
|
1653 |
+
})
|
1654 |
+
}, n.prototype._initKeyboardNavigation = function() {
|
1655 |
+
if (this._options.keyboard) return t(e).on("keyup.tour-" + this._options.name, function(t) {
|
1656 |
+
return function(e) {
|
1657 |
+
if (e.which) switch (e.which) {
|
1658 |
+
case 39:
|
1659 |
+
return e.preventDefault(), t._isLast() ? t.next() : t.end();
|
1660 |
+
case 37:
|
1661 |
+
if (e.preventDefault(), t._current > 0) return t.prev()
|
1662 |
+
}
|
1663 |
+
}
|
1664 |
+
}(this))
|
1665 |
+
}, n.prototype._makePromise = function(e) {
|
1666 |
+
return e && t.isFunction(e.then) ? e : null
|
1667 |
+
}, n.prototype._callOnPromiseDone = function(t, e, n) {
|
1668 |
+
return t ? t.then(function(t) {
|
1669 |
+
return function(o) {
|
1670 |
+
return e.call(t, n)
|
1671 |
+
}
|
1672 |
+
}(this)) : e.call(this, n)
|
1673 |
+
}, n.prototype._showBackground = function(n, o) {
|
1674 |
+
var i, r, s, a, p, u, l, c, h;
|
1675 |
+
for (s = t(e).height(), h = t(e).width(), c = [], a = 0, p = (l = ["top", "bottom", "left", "right"]).length; a < p; a++) switch (u = l[a], i = null != (r = this.backdrops)[u] ? r[u] : r[u] = t("<div>", {
|
1676 |
+
class: "tour-backdrop " + u
|
1677 |
+
}), t(n.backdropContainer).append(i), u) {
|
1678 |
+
case "top":
|
1679 |
+
c.push(i.height(o.offset.top > 0 ? o.offset.top : 0).width(h).offset({
|
1680 |
+
top: 0,
|
1681 |
+
left: 0
|
1682 |
+
}));
|
1683 |
+
break;
|
1684 |
+
case "bottom":
|
1685 |
+
c.push(i.offset({
|
1686 |
+
top: o.offset.top + o.height,
|
1687 |
+
left: 0
|
1688 |
+
}).height(s - (o.offset.top + o.height)).width(h));
|
1689 |
+
break;
|
1690 |
+
case "left":
|
1691 |
+
c.push(i.offset({
|
1692 |
+
top: o.offset.top,
|
1693 |
+
left: 0
|
1694 |
+
}).height(o.height).width(o.offset.left > 0 ? o.offset.left : 0));
|
1695 |
+
break;
|
1696 |
+
case "right":
|
1697 |
+
c.push(i.offset({
|
1698 |
+
top: o.offset.top,
|
1699 |
+
left: o.offset.left + o.width
|
1700 |
+
}).height(o.height).width(h - (o.offset.left + o.width)));
|
1701 |
+
break;
|
1702 |
+
default:
|
1703 |
+
c.push(void 0)
|
1704 |
+
}
|
1705 |
+
return c
|
1706 |
+
}, n.prototype._showOverlayElement = function(e) {
|
1707 |
+
var n, o;
|
1708 |
+
return 0 === (n = t(e.backdropElement)).length ? o = {
|
1709 |
+
width: 0,
|
1710 |
+
height: 0,
|
1711 |
+
offset: {
|
1712 |
+
top: 0,
|
1713 |
+
left: 0
|
1714 |
+
}
|
1715 |
+
} : (o = {
|
1716 |
+
width: n.innerWidth(),
|
1717 |
+
height: n.innerHeight(),
|
1718 |
+
offset: n.offset()
|
1719 |
+
}, n.addClass("tour-step-backdrop"), e.backdropPadding && (o = this._applyBackdropPadding(e.backdropPadding, o))), this._showBackground(e, o)
|
1720 |
+
}, n.prototype._hideOverlayElement = function(e) {
|
1721 |
+
var n, o, i;
|
1722 |
+
t(e.backdropElement).removeClass("tour-step-backdrop"), i = this.backdrops;
|
1723 |
+
for (o in i)(n = i[o]) && void 0 !== n.remove && n.remove();
|
1724 |
+
return this.backdrops = []
|
1725 |
+
}, n.prototype._applyBackdropPadding = function(t, e) {
|
1726 |
+
return "object" == typeof t ? (null == t.top && (t.top = 0), null == t.right && (t.right = 0), null == t.bottom && (t.bottom = 0), null == t.left && (t.left = 0), e.offset.top = e.offset.top - t.top, e.offset.left = e.offset.left - t.left, e.width = e.width + t.left + t.right, e.height = e.height + t.top + t.bottom) : (e.offset.top = e.offset.top - t, e.offset.left = e.offset.left - t, e.width = e.width + 2 * t, e.height = e.height + 2 * t), e
|
1727 |
+
}, n.prototype._clearTimer = function() {
|
1728 |
+
return window.clearTimeout(this._timer), this._timer = null, this._duration = null
|
1729 |
+
}, n.prototype._getProtocol = function(t) {
|
1730 |
+
return (t = t.split("://")).length > 1 ? t[0] : "http"
|
1731 |
+
}, n.prototype._getHost = function(t) {
|
1732 |
+
return t = t.split("//"), (t = t.length > 1 ? t[1] : t[0]).split("/")[0]
|
1733 |
+
}, n.prototype._getPath = function(t) {
|
1734 |
+
return t.replace(/\/?$/, "").split("?")[0].split("#")[0]
|
1735 |
+
}, n.prototype._getQuery = function(t) {
|
1736 |
+
return this._getParams(t, "?")
|
1737 |
+
}, n.prototype._getHash = function(t) {
|
1738 |
+
return this._getParams(t, "#")
|
1739 |
+
}, n.prototype._getParams = function(t, e) {
|
1740 |
+
var n, o, i, r, s;
|
1741 |
+
if (1 === (r = t.split(e)).length) return {};
|
1742 |
+
for (s = {}, n = 0, o = (r = r[1].split("&")).length; n < o; n++) s[(i = (i = r[n]).split("="))[0]] = i[1] || "";
|
1743 |
+
return s
|
1744 |
+
}, n.prototype._equal = function(t, e) {
|
1745 |
+
var n, o, i, r, s, a;
|
1746 |
+
if ("[object Object]" === {}.toString.call(t) && "[object Object]" === {}.toString.call(e)) {
|
1747 |
+
if (r = Object.keys(t), s = Object.keys(e), r.length !== s.length) return !1;
|
1748 |
+
for (o in t)
|
1749 |
+
if (a = t[o], !this._equal(e[o], a)) return !1;
|
1750 |
+
return !0
|
1751 |
+
}
|
1752 |
+
if ("[object Array]" === {}.toString.call(t) && "[object Array]" === {}.toString.call(e)) {
|
1753 |
+
if (t.length !== e.length) return !1;
|
1754 |
+
for (o = n = 0, i = t.length; n < i; o = ++n)
|
1755 |
+
if (a = t[o], !this._equal(a, e[o])) return !1;
|
1756 |
+
return !0
|
1757 |
+
}
|
1758 |
+
return t === e
|
1759 |
+
}, n
|
1760 |
+
}()
|
1761 |
+
});
|
miniorange_openid_sso_settings.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Social Login, Social Sharing by miniOrange
|
4 |
-
* Plugin URI: https://www.miniorange.com
|
5 |
-
* Description: Allow your users to login, comment and share with Facebook, Google, Twitter, LinkedIn etc using customizable buttons.
|
6 |
-
* Version: 7.0
|
7 |
-
* Author: miniOrange
|
8 |
-
* Author URI: https://www.miniorange.com
|
9 |
* License: GPL2
|
10 |
*/
|
11 |
|
@@ -14,7 +14,7 @@ include_once dirname( __FILE__ ) . '/class-mo-openid-login-widget.php';
|
|
14 |
require('class-mo-openid-sso-customer.php');
|
15 |
require('class-mo-openid-sso-shortcode-buttons.php');
|
16 |
require('class-mo-openid-social-comment.php');
|
17 |
-
define('MO_OPENID_SOCIAL_LOGIN_VERSION', '7.0
|
18 |
include dirname( __FILE__ ) . '/mo_openid_feedback_form.php';
|
19 |
class Miniorange_OpenID_SSO {
|
20 |
|
@@ -288,7 +288,10 @@ class Miniorange_OpenID_SSO {
|
|
288 |
add_option( 'mo_manual_login_error_message','There was an error during login. Please try to login/register manually. <a href='.site_url().'>Go back to site</a>');
|
289 |
add_option( 'mo_delete_user_error_message','Error deleting user from account linking table');
|
290 |
add_option( 'mo_account_linking_message','Link your social account to existing WordPress account by entering username and password.');
|
291 |
-
|
|
|
|
|
|
|
292 |
}
|
293 |
|
294 |
function mo_openid_feedback_request(){
|
@@ -498,29 +501,34 @@ class Miniorange_OpenID_SSO {
|
|
498 |
wp_enqueue_style( 'mo-wp-font-awesome',plugins_url('includes/css/font-awesome.css?version=4.8', __FILE__), false );
|
499 |
}
|
500 |
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
|
|
508 |
|
509 |
-
}
|
510 |
|
511 |
-
function mo_openid_plugin_script() {
|
512 |
-
wp_enqueue_script( 'js-cookie-script',plugins_url('includes/js/jquery.cookie.min.js', __FILE__), array('jquery'));
|
513 |
-
wp_enqueue_script( 'mo-social-login-script',plugins_url('includes/js/social_login.js', __FILE__), array('jquery') );
|
514 |
-
}
|
515 |
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
|
523 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
524 |
$message = get_option('mo_openid_message'); ?>
|
525 |
<script>
|
526 |
|
@@ -608,249 +616,304 @@ class Miniorange_OpenID_SSO {
|
|
608 |
}
|
609 |
return false;
|
610 |
}
|
|
|
611 |
|
612 |
-
|
|
|
613 |
|
614 |
-
|
615 |
-
|
|
|
|
|
616 |
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
621 |
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
-
|
636 |
-
|
637 |
-
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
return;
|
646 |
-
} else {
|
647 |
-
$company = sanitize_text_field($_POST['company']);
|
648 |
-
$first_name = sanitize_text_field(isset($_POST['fname'])?$_POST['fname']:'');
|
649 |
-
$last_name = sanitize_text_field(isset($_POST['lname'])?$_POST['lname']:'');
|
650 |
-
$email = sanitize_email( $_POST['email'] );
|
651 |
-
$phone = sanitize_text_field( isset($_POST['phone'])?$_POST['phone']:'' );
|
652 |
-
$password = sanitize_text_field( $_POST['password'] );
|
653 |
-
$confirmPassword = sanitize_text_field( $_POST['confirmPassword'] );
|
654 |
-
}
|
655 |
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
if(get_option('mo_openid_email_otp_count')){
|
671 |
-
update_option('mo_openid_email_otp_count',get_option('mo_openid_email_otp_count') + 1);
|
672 |
-
update_option('mo_openid_message', 'Another One Time Passcode has been sent <b>( ' . get_option('mo_openid_email_otp_count') . ' )</b> for verification to ' . get_option('mo_openid_admin_email'));
|
673 |
-
}else{
|
674 |
-
update_option( 'mo_openid_message', ' A passcode is sent to ' . get_option('mo_openid_admin_email') . '. Please enter the otp here to verify your email.');
|
675 |
-
update_option('mo_openid_email_otp_count',1);
|
676 |
-
}
|
677 |
-
update_option('mo_openid_transactionId',$content['txId']);
|
678 |
-
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_SUCCESS');
|
679 |
-
|
680 |
-
$this->mo_openid_show_success_message();
|
681 |
-
}else{
|
682 |
-
update_option('mo_openid_message','There was an error in sending email. Please click on Resend OTP to try again.');
|
683 |
-
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_FAILURE');
|
684 |
-
$this->mo_openid_show_error_message();
|
685 |
-
}
|
686 |
-
}else{
|
687 |
-
$this->get_current_customer();
|
688 |
-
}
|
689 |
-
|
690 |
-
} else {
|
691 |
-
update_option( 'mo_openid_message', 'Passwords do not match.');
|
692 |
-
delete_option('mo_openid_verify_customer');
|
693 |
-
$this->mo_openid_show_error_message();
|
694 |
-
}
|
695 |
|
696 |
-
|
697 |
-
else if(isset($_POST['option']) and $_POST['option'] == "mo_openid_validate_otp"){
|
698 |
-
|
699 |
-
//validation and sanitization
|
700 |
-
$otp_token = '';
|
701 |
-
if( $this->mo_openid_check_empty_or_null( $_POST['otp_token'] ) ) {
|
702 |
-
update_option( 'mo_openid_message', 'Please enter a value in OTP field.');
|
703 |
-
update_option('mo_openid_registration_status','MO_OTP_VALIDATION_FAILURE');
|
704 |
-
$this->mo_openid_show_error_message();
|
705 |
-
return;
|
706 |
-
} else if(!preg_match('/^[0-9]*$/', $_POST['otp_token'])) {
|
707 |
-
update_option( 'mo_openid_message', 'Please enter a valid value in OTP field.');
|
708 |
-
update_option('mo_openid_registration_status','MO_OTP_VALIDATION_FAILURE');
|
709 |
-
$this->mo_openid_show_error_message();
|
710 |
-
return;
|
711 |
-
} else{
|
712 |
-
$otp_token = sanitize_text_field( $_POST['otp_token'] );
|
713 |
-
}
|
714 |
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
|
|
722 |
|
|
|
|
|
723 |
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
$phone = str_replace(' ', '', $phone);
|
734 |
-
update_option('mo_openid_admin_phone',$phone);
|
735 |
-
$auth_type = 'SMS';
|
736 |
-
$customer = new CustomerOpenID();
|
737 |
-
$send_otp_response = json_decode($customer->send_otp_token($auth_type),true);
|
738 |
-
if(strcasecmp($send_otp_response['status'], 'SUCCESS') == 0){
|
739 |
-
//Save txId
|
740 |
-
|
741 |
-
update_option('mo_openid_transactionId',$send_otp_response['txId']);
|
742 |
-
update_option( 'mo_openid_registration_status','MO_OTP_DELIVERED_SUCCESS');
|
743 |
-
if(get_option('mo_openid_sms_otp_count')){
|
744 |
-
update_option('mo_openid_sms_otp_count',get_option('mo_openid_sms_otp_count') + 1);
|
745 |
-
update_option('mo_openid_message', 'Another One Time Passcode has been sent <b>( ' . get_option('mo_openid_sms_otp_count') . ' )</b> for verification to ' . $phone);
|
746 |
-
}else{
|
747 |
-
|
748 |
-
update_option('mo_openid_message', 'One Time Passcode has been sent for verification to ' . $phone);
|
749 |
-
update_option('mo_openid_sms_otp_count',1);
|
750 |
-
}
|
751 |
-
|
752 |
-
$this->mo_openid_show_success_message();
|
753 |
-
|
754 |
-
}else{
|
755 |
-
update_option('mo_openid_message','There was an error in sending sms. Please click on Resend OTP link next to phone number textbox.');
|
756 |
-
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_FAILURE');
|
757 |
-
$this->mo_openid_show_error_message();
|
758 |
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
$illegal = $illegal . '"';
|
768 |
-
if( $this->mo_openid_check_empty_or_null( $_POST['email'] ) || $this->mo_openid_check_empty_or_null( $_POST['password'] ) ) {
|
769 |
-
update_option( 'mo_openid_message', 'All the fields are required. Please enter valid entries.');
|
770 |
-
$this->mo_openid_show_error_message();
|
771 |
-
return;
|
772 |
-
} else if(strpbrk($_POST['email'],$illegal)) {
|
773 |
-
update_option( 'mo_openid_message', 'Please match the format of Email. No special characters are allowed.');
|
774 |
-
$this->mo_openid_show_error_message();
|
775 |
-
return;
|
776 |
-
} else{
|
777 |
-
$email = sanitize_email( $_POST['email'] );
|
778 |
-
$password = sanitize_text_field( $_POST['password'] );
|
779 |
-
}
|
780 |
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
-
|
806 |
-
|
807 |
-
|
808 |
-
|
809 |
-
|
810 |
-
|
811 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
if(strcasecmp($content['status'], 'SUCCESS') == 0){
|
828 |
-
update_option( 'mo_openid_admin_customer_valid', strcasecmp($content['licenseType'], 'Premium') !== FALSE ? 1 : 0);
|
829 |
-
update_option( 'mo_openid_admin_customer_plan', isset($content['licensePlan']) ? base64_encode($content['licensePlan']) : 0);
|
830 |
-
if(get_option('mo_openid_admin_customer_valid') && isset($content['licensePlan'])){
|
831 |
-
$license = explode(' -', $content['licensePlan']);
|
832 |
-
$lp = $license[0];
|
833 |
-
update_option( 'mo_openid_message','You are on the old ' . $lp . '.');
|
834 |
-
} else
|
835 |
-
update_option( 'mo_openid_message','You are on the Free Plan.');
|
836 |
-
$this->mo_openid_show_success_message();
|
837 |
-
}else if(strcasecmp($content['status'], 'FAILED') == 0){
|
838 |
-
update_option('mo_openid_message', 'You are on Free Plan.');
|
839 |
-
$this->mo_openid_show_success_message();
|
840 |
-
}else{
|
841 |
-
update_option( 'mo_openid_message','An error occured while processing your request. Please try again.');
|
842 |
-
$this->mo_openid_show_error_message();
|
843 |
-
}
|
844 |
-
} else {
|
845 |
-
update_option('mo_openid_message', 'Please register an account before trying to check your plan');
|
846 |
-
$this->mo_openid_show_error_message();
|
847 |
-
}
|
848 |
-
}
|
849 |
-
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_enable_apps" ) {
|
850 |
|
|
|
|
|
|
|
|
|
851 |
|
852 |
-
|
853 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
854 |
if($this->if_custom_app_exists('facebook')) {
|
855 |
update_option('mo_openid_facebook_enable', isset($_POST['mo_openid_facebook_enable']) ? $_POST['mo_openid_facebook_enable'] : 0);
|
856 |
}
|
@@ -860,15 +923,15 @@ class Miniorange_OpenID_SSO {
|
|
860 |
|
861 |
}
|
862 |
update_option( 'mo_openid_linkedin_enable', isset( $_POST['mo_openid_linkedin_enable']) ? $_POST['mo_openid_linkedin_enable'] : 0);
|
863 |
-
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
|
869 |
-
|
870 |
-
|
871 |
-
|
872 |
|
873 |
|
874 |
|
@@ -880,359 +943,367 @@ class Miniorange_OpenID_SSO {
|
|
880 |
update_option('mo_openid_gdpr_consent_message', isset($_POST['mo_openid_gdpr_consent_message']) ? stripslashes($_POST['mo_openid_gdpr_consent_message']) : get_option('mo_openid_gdpr_consent_message'));
|
881 |
}
|
882 |
//Redirect URL
|
883 |
-
|
884 |
-
|
885 |
update_option( 'mo_openid_relative_login_redirect_url', isset( $_POST['mo_openid_relative_login_redirect_url']) ? $_POST['mo_openid_relative_login_redirect_url'] : "" );
|
886 |
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
|
896 |
|
897 |
-
|
898 |
-
|
899 |
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
|
904 |
//profile completion
|
905 |
update_option('mo_openid_enable_profile_completion', isset( $_POST['mo_openid_enable_profile_completion']) ? $_POST['mo_openid_enable_profile_completion'] : 0);
|
906 |
|
907 |
if(get_option('mo_openid_enable_profile_completion') == 1) {
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
|
925 |
-
|
926 |
//account-linking
|
927 |
update_option( 'mo_openid_account_linking_enable', isset( $_POST['mo_openid_account_linking_enable']) ? $_POST['mo_openid_account_linking_enable'] : 0);
|
928 |
|
929 |
-
|
930 |
-
|
931 |
// update_option('mo_account_linking_form_title', $_POST['mo_account_linking_form_title']);
|
932 |
-
|
933 |
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
|
941 |
|
942 |
-
|
943 |
|
944 |
|
945 |
|
946 |
if(!get_option('mo_openid_oauth')){
|
947 |
update_option('mo_openid_login_widget_customize_logout_name_text',sanitize_text_field($_POST['mo_openid_login_widget_customize_logout_name_text']));
|
948 |
update_option( 'mo_openid_login_widget_customize_logout_text',sanitize_text_field($_POST['mo_openid_login_widget_customize_logout_text']));
|
949 |
-
|
950 |
|
951 |
-
|
952 |
update_option('moopenid_logo_check', isset( $_POST['moopenid_logo_check']) ? $_POST['moopenid_logo_check'] : 0);
|
953 |
}
|
954 |
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
|
968 |
-
|
969 |
-
|
970 |
|
971 |
|
972 |
-
|
973 |
-
|
974 |
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
|
980 |
-
|
981 |
if(!mo_openid_is_customer_registered()) {
|
982 |
-
|
983 |
-
update_option('mo_openid_message', 'Your settings are successfully saved. Please <a href=\" '. $redirect .'\">Register or Login with miniOrange</a> to enable Social Login and Social Sharing.');
|
984 |
-
$this->mo_openid_show_error_message();
|
985 |
}
|
986 |
|
987 |
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
992 |
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
}
|
1002 |
|
1003 |
-
}else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_save_buddypress_field" ){
|
1004 |
|
1005 |
-
//buddypress display options
|
1006 |
-
if(!mo_openid_restrict_user()) {
|
1007 |
-
update_option('mo_openid_bp_before_register_page', isset($_POST['mo_openid_bp_before_register_page']) ? $_POST['mo_openid_bp_before_register_page'] : 0);
|
1008 |
-
update_option('mo_openid_bp_before_account_details_fields', isset($_POST['mo_openid_bp_before_account_details_fields']) ? $_POST['mo_openid_bp_before_account_details_fields'] : 0);
|
1009 |
-
update_option('mo_openid_bp_after_register_page', isset($_POST['mo_openid_bp_after_register_page']) ? $_POST['mo_openid_bp_after_register_page'] : 0);
|
1010 |
}
|
|
|
1011 |
|
1012 |
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1038 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1039 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1040 |
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
-
|
1054 |
-
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
-
|
1064 |
-
|
1065 |
-
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
1074 |
-
|
1075 |
-
|
1076 |
-
|
1077 |
-
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1082 |
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
-
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
-
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
-
|
1095 |
-
|
1096 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1097 |
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
update_option( 'mo_openid_linkedin_share_enable', isset( $_POST['mo_openid_linkedin_share_enable']) ? $_POST['mo_openid_linkedin_share_enable'] : 0);
|
1106 |
-
update_option( 'mo_openid_reddit_share_enable', isset( $_POST['mo_openid_reddit_share_enable']) ? $_POST['mo_openid_reddit_share_enable'] : 0);
|
1107 |
-
update_option( 'mo_openid_pinterest_share_enable', isset( $_POST['mo_openid_pinterest_share_enable']) ? $_POST['mo_openid_pinterest_share_enable'] : 0);
|
1108 |
-
update_option( 'mo_openid_twitter_share_enable', isset( $_POST['mo_openid_twitter_share_enable']) ? $_POST['mo_openid_twitter_share_enable'] : 0);
|
1109 |
-
update_option( 'mo_openid_tumblr_share_enable', isset( $_POST['mo_openid_tumblr_share_enable']) ? $_POST['mo_openid_tumblr_share_enable'] : 0);
|
1110 |
-
update_option( 'mo_openid_delicious_share_enable', isset( $_POST['mo_openid_delicious_share_enable']) ? $_POST['mo_openid_delicious_share_enable'] : 0);
|
1111 |
-
update_option( 'mo_openid_vkontakte_share_enable', isset( $_POST['mo_openid_vkontakte_share_enable']) ? $_POST['mo_openid_vkontakte_share_enable'] : 0);
|
1112 |
-
update_option( 'mo_openid_stumble_share_enable', isset( $_POST['mo_openid_stumble_share_enable']) ? $_POST['mo_openid_stumble_share_enable'] : 0);
|
1113 |
-
update_option( 'mo_openid_odnoklassniki_share_enable', isset( $_POST['mo_openid_odnoklassniki_share_enable']) ? $_POST['mo_openid_odnoklassniki_share_enable'] : 0);
|
1114 |
-
update_option( 'mo_openid_digg_share_enable', isset( $_POST['mo_openid_digg_share_enable']) ? $_POST['mo_openid_digg_share_enable'] : 0);
|
1115 |
-
update_option( 'mo_openid_pocket_share_enable', isset( $_POST['mo_openid_pocket_share_enable']) ? $_POST['mo_openid_pocket_share_enable'] : 0);
|
1116 |
-
|
1117 |
-
update_option( 'mo_openid_mail_share_enable', isset( $_POST['mo_openid_mail_share_enable']) ? $_POST['mo_openid_mail_share_enable'] : 0);
|
1118 |
-
update_option( 'mo_openid_print_share_enable', isset( $_POST['mo_openid_print_share_enable']) ? $_POST['mo_openid_print_share_enable'] : 0);
|
1119 |
-
update_option( 'mo_openid_whatsapp_share_enable', isset( $_POST['mo_openid_whatsapp_share_enable']) ? $_POST['mo_openid_whatsapp_share_enable'] : 0);
|
1120 |
-
|
1121 |
-
update_option('mo_share_options_enable_home_page',isset( $_POST['mo_share_options_home_page']) ? $_POST['mo_share_options_home_page'] : 0);
|
1122 |
-
update_option('mo_share_options_enable_post',isset( $_POST['mo_share_options_post']) ? $_POST['mo_share_options_post'] : 0);
|
1123 |
-
update_option('mo_share_options_enable_static_pages',isset( $_POST['mo_share_options_static_pages']) ? $_POST['mo_share_options_static_pages'] : 0);
|
1124 |
-
update_option('mo_share_options_wc_sp_summary',isset( $_POST['mo_share_options_wc_sp_summary']) ? $_POST['mo_share_options_wc_sp_summary'] : 0);
|
1125 |
-
update_option('mo_share_options_wc_sp_summary_top',isset( $_POST['mo_share_options_wc_sp_summary_top']) ? $_POST['mo_share_options_wc_sp_summary_top'] : 0);
|
1126 |
-
update_option('mo_share_options_enable_post_position',$_POST['mo_share_options_enable_post_position'] );
|
1127 |
-
update_option('mo_share_options_home_page_position',$_POST['mo_share_options_home_page_position'] );
|
1128 |
-
update_option('mo_share_options_static_pages_position',$_POST['mo_share_options_static_pages_position'] );
|
1129 |
-
update_option('mo_share_options_bb_forum_position',$_POST['mo_share_options_bb_forum_position'] );
|
1130 |
-
update_option('mo_share_options_bb_topic_position',$_POST['mo_share_options_bb_topic_position'] );
|
1131 |
-
update_option('mo_share_options_bb_reply_position',$_POST['mo_share_options_bb_reply_position'] );
|
1132 |
-
update_option('mo_openid_share_theme',$_POST['mo_openid_share_theme'] );
|
1133 |
-
update_option('mo_share_vertical_hide_mobile',isset( $_POST['mo_share_vertical_hide_mobile']) ? $_POST['mo_share_vertical_hide_mobile'] : 0);
|
1134 |
-
update_option('mo_share_options_bb_forum',isset( $_POST['mo_share_options_bb_forum']) ? $_POST['mo_share_options_bb_forum'] : 0);
|
1135 |
-
update_option('mo_share_options_bb_topic',isset( $_POST['mo_share_options_bb_topic']) ? $_POST['mo_share_options_bb_topic'] : 0);
|
1136 |
-
update_option('mo_share_options_bb_reply',isset( $_POST['mo_share_options_bb_reply']) ? $_POST['mo_share_options_bb_reply'] : 0);
|
1137 |
-
update_option('mo_openid_share_widget_customize_text',$_POST['mo_openid_share_widget_customize_text'] );
|
1138 |
-
update_option('mo_openid_share_widget_customize_text_color',$_POST['mo_openid_share_widget_customize_text_color'] );
|
1139 |
-
update_option('mo_openid_share_twitter_username', sanitize_text_field($_POST['mo_openid_share_twitter_username'])) ;
|
1140 |
-
update_option('mo_openid_share_email_subject', sanitize_text_field($_POST['mo_openid_share_email_subject'])) ;
|
1141 |
-
update_option('mo_openid_share_email_body', sanitize_text_field($_POST['mo_openid_share_email_body'])) ;
|
1142 |
-
|
1143 |
-
update_option('mo_openid_share_widget_customize_direction_horizontal',isset( $_POST['mo_openid_share_widget_customize_direction_horizontal']) ? $_POST['mo_openid_share_widget_customize_direction_horizontal'] : 0);
|
1144 |
-
update_option('mo_openid_share_widget_customize_direction_vertical',isset( $_POST['mo_openid_share_widget_customize_direction_vertical']) ? $_POST['mo_openid_share_widget_customize_direction_vertical'] : 0);
|
1145 |
-
update_option('mo_sharing_icon_custom_size',isset( $_POST['mo_sharing_icon_custom_size']) ? $_POST['mo_sharing_icon_custom_size'] : 35);
|
1146 |
-
update_option('mo_sharing_icon_custom_color',$_POST['mo_sharing_icon_custom_color'] );
|
1147 |
-
update_option('mo_openid_share_custom_theme',$_POST['mo_openid_share_custom_theme'] );
|
1148 |
-
update_option('mo_sharing_icon_custom_font',$_POST['mo_sharing_icon_custom_font'] );
|
1149 |
-
update_option('mo_sharing_icon_space',$_POST['mo_sharing_icon_space'] );
|
1150 |
-
update_option( 'mo_openid_message', 'Your settings are saved successfully.' );
|
1151 |
-
$this->mo_openid_show_success_message();
|
1152 |
-
if(!mo_openid_is_customer_registered()) {
|
1153 |
-
$redirect = add_query_arg( array('tab' => 'register'), $_SERVER['REQUEST_URI'] );
|
1154 |
-
update_option('mo_openid_message', 'Your settings are successfully saved. Please <a href=\" '. $redirect .'\">Register or Login with miniOrange</a> to enable Social Login and Social Sharing.');
|
1155 |
-
$this->mo_openid_show_error_message();
|
1156 |
}
|
1157 |
-
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
-
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
-
if($appname == $key){
|
1178 |
-
$newapp = $currentapp;
|
1179 |
-
break;
|
1180 |
-
}
|
1181 |
-
}
|
1182 |
-
|
1183 |
-
$newapp['clientid'] = $clientid;
|
1184 |
-
$newapp['clientsecret'] = $clientsecret;
|
1185 |
-
$newapp['scope'] = $scope;
|
1186 |
-
$newapp['redirecturi'] = site_url().'/openidcallback';
|
1187 |
-
if($appname=="facebook"){
|
1188 |
-
$authorizeurl = 'https://www.facebook.com/dialog/oauth';
|
1189 |
-
$accesstokenurl = 'https://graph.facebook.com/v2.8/oauth/access_token';
|
1190 |
-
$resourceownerdetailsurl = 'https://graph.facebook.com/me/?fields=id,name,email,age_range,first_name,gender,last_name,link&access_token=';
|
1191 |
-
} else if($appname=="google"){
|
1192 |
-
$authorizeurl = "https://accounts.google.com/o/oauth2/auth";
|
1193 |
-
$accesstokenurl = "https://www.googleapis.com/oauth2/v3/token";
|
1194 |
-
//private static final String VERIFY_TOKEN_ENDPOINT = "https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=";
|
1195 |
-
//private static final String GET_USER_INFO_ENDPOINT = "https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=";
|
1196 |
-
$resourceownerdetailsurl = "https://www.googleapis.com/plus/v1/people/me";
|
1197 |
-
} else if($appname=="twitter"){
|
1198 |
-
$authorizeurl = "https://api.twitter.com/oauth/authorize";
|
1199 |
-
$accesstokenurl = "https://api.twitter.com/oauth/access_token";
|
1200 |
-
$resourceownerdetailsurl = "https://dev.twitter.com/docs/api/1.1/get/account/verify_credentials?include_email=true";
|
1201 |
-
}else {
|
1202 |
-
$authorizeurl = stripslashes(sanitize_text_field($_POST['mo_oauth_authorizeurl']));
|
1203 |
-
$accesstokenurl = stripslashes(sanitize_text_field($_POST['mo_oauth_accesstokenurl']));
|
1204 |
-
$resourceownerdetailsurl = stripslashes(sanitize_text_field($_POST['mo_oauth_resourceownerdetailsurl']));
|
1205 |
-
$appname = stripslashes(sanitize_text_field( $_POST['mo_oauth_custom_app_name'] ));
|
1206 |
-
}
|
1207 |
-
|
1208 |
-
$newapp['authorizeurl'] = $authorizeurl;
|
1209 |
-
$newapp['accesstokenurl'] = $accesstokenurl;
|
1210 |
-
$newapp['resourceownerdetailsurl'] = $resourceownerdetailsurl;
|
1211 |
-
$appslist[$appname] = $newapp;
|
1212 |
-
update_option('mo_openid_apps_list', $appslist);
|
1213 |
-
wp_redirect('admin.php?page=mo_openid_settings&tab=custom_app');
|
1214 |
-
}
|
1215 |
-
}
|
1216 |
-
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_custom_app_attribute_mapping" ) {
|
1217 |
-
$appname = stripslashes(sanitize_text_field( $_POST['mo_oauth_app_name'] ));
|
1218 |
-
$email_attr = stripslashes(sanitize_text_field( $_POST['mo_oauth_email_attr'] ));
|
1219 |
-
$name_attr = stripslashes(sanitize_text_field( $_POST['mo_oauth_name_attr'] ));
|
1220 |
-
|
1221 |
-
$appslist = get_option('mo_openid_apps_list');
|
1222 |
-
foreach($appslist as $key => $currentapp){
|
1223 |
-
if($appname == $key){
|
1224 |
-
$currentapp['email_attr'] = $email_attr;
|
1225 |
-
$currentapp['name_attr'] = $name_attr;
|
1226 |
-
$appslist[$key] = $currentapp;
|
1227 |
-
break;
|
1228 |
-
}
|
1229 |
-
}
|
1230 |
-
update_option('mo_openid_apps_list', $appslist);
|
1231 |
-
update_option( 'message', 'Your settings are saved successfully.' );
|
1232 |
-
$this->mo_openid_show_success_message();
|
1233 |
-
wp_redirect('admin.php?page=mo_openid_settings&tab=custom_app&action=update&app='.urlencode($appname));
|
1234 |
-
}
|
1235 |
-
}
|
1236 |
|
1237 |
|
1238 |
if(isset($_POST['mo_openid_option']) and $_POST['mo_openid_option']=='mo_openid_skip_feedback'){
|
@@ -1268,11 +1339,11 @@ class Miniorange_OpenID_SSO {
|
|
1268 |
if ( json_last_error() == JSON_ERROR_NONE ) {
|
1269 |
if ( is_array( $submited ) && array_key_exists( 'status', $submited ) && $submited['status'] == 'ERROR' )
|
1270 |
{
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
|
1277 |
|
1278 |
} else
|
@@ -1297,8 +1368,7 @@ class Miniorange_OpenID_SSO {
|
|
1297 |
}
|
1298 |
}
|
1299 |
|
1300 |
-
|
1301 |
-
|
1302 |
function create_customer(){
|
1303 |
delete_option('mo_openid_sms_otp_count');
|
1304 |
delete_option('mo_openid_email_otp_count');
|
@@ -1341,6 +1411,11 @@ class Miniorange_OpenID_SSO {
|
|
1341 |
update_option('mo_openid_verify_customer', 'true');
|
1342 |
delete_option('mo_openid_new_registration');
|
1343 |
$this->mo_openid_show_error_message();
|
|
|
|
|
|
|
|
|
|
|
1344 |
}
|
1345 |
|
1346 |
}
|
@@ -1494,6 +1569,5 @@ class Miniorange_OpenID_SSO {
|
|
1494 |
return false;
|
1495 |
}
|
1496 |
}
|
1497 |
-
|
1498 |
new Miniorange_OpenID_SSO;
|
1499 |
?>
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Social Login, Social Sharing by miniOrange
|
4 |
+
* Plugin URI: https://www.miniorange.com/social-login
|
5 |
+
* Description: Allow your users to login, comment and share with social login apps like Facebook, Google, Twitter, LinkedIn etc using customizable buttons.
|
6 |
+
* Version: 7.1.0
|
7 |
+
* Author: social login (miniOrange)
|
8 |
+
* Author URI: https://www.miniorange.com/social-login
|
9 |
* License: GPL2
|
10 |
*/
|
11 |
|
14 |
require('class-mo-openid-sso-customer.php');
|
15 |
require('class-mo-openid-sso-shortcode-buttons.php');
|
16 |
require('class-mo-openid-social-comment.php');
|
17 |
+
define('MO_OPENID_SOCIAL_LOGIN_VERSION', '7.1.0');
|
18 |
include dirname( __FILE__ ) . '/mo_openid_feedback_form.php';
|
19 |
class Miniorange_OpenID_SSO {
|
20 |
|
288 |
add_option( 'mo_manual_login_error_message','There was an error during login. Please try to login/register manually. <a href='.site_url().'>Go back to site</a>');
|
289 |
add_option( 'mo_delete_user_error_message','Error deleting user from account linking table');
|
290 |
add_option( 'mo_account_linking_message','Link your social account to existing WordPress account by entering username and password.');
|
291 |
+
add_option('regi_pop_up','');
|
292 |
+
add_option('mo_openid_tour','0');
|
293 |
+
add_option('pop_regi_msg','Your settings are saved successfully. Please enter your valid email address to enable social login.');
|
294 |
+
add_option('pop_login_msg','Enter Your Login Credentials.');
|
295 |
}
|
296 |
|
297 |
function mo_openid_feedback_request(){
|
501 |
wp_enqueue_style( 'mo-wp-font-awesome',plugins_url('includes/css/font-awesome.css?version=4.8', __FILE__), false );
|
502 |
}
|
503 |
|
504 |
+
function mo_openid_plugin_settings_style() {
|
505 |
+
wp_enqueue_style( 'mo_openid_admin_settings_style', plugins_url('includes/css/mo_openid_style.css?version=5.0.6', __FILE__));
|
506 |
+
wp_enqueue_style( 'mo_openid_admin_settings_phone_style', plugins_url('includes/css/phone.css', __FILE__));
|
507 |
+
wp_enqueue_style( 'mo-wp-bootstrap-social',plugins_url('includes/css/bootstrap-social.css', __FILE__), false );
|
508 |
+
wp_enqueue_style( 'mo-wp-bootstrap-main',plugins_url('includes/css/bootstrap.min-preview.css', __FILE__), false );
|
509 |
+
wp_enqueue_style( 'mo-wp-font-awesome',plugins_url('includes/css/font-awesome.min.css?version=4.8', __FILE__), false );
|
510 |
+
wp_enqueue_style( 'mo-wp-font-awesome',plugins_url('includes/css/font-awesome.css?version=4.8', __FILE__), false );
|
511 |
+
wp_enqueue_style( 'bootstrap_style_ass', plugins_url( 'includes/css/bootstrap-tour-standalone.css?version=5.1.4', __FILE__ ) );
|
512 |
|
|
|
513 |
|
|
|
|
|
|
|
|
|
514 |
|
515 |
+
}
|
516 |
+
|
517 |
+
function mo_openid_plugin_script() {
|
518 |
+
wp_enqueue_script( 'js-cookie-script',plugins_url('includes/js/jquery.cookie.min.js', __FILE__), array('jquery'));
|
519 |
+
wp_enqueue_script( 'mo-social-login-script',plugins_url('includes/js/social_login.js', __FILE__), array('jquery') );
|
520 |
+
}
|
521 |
|
522 |
+
function mo_openid_plugin_settings_script() {
|
523 |
+
wp_enqueue_script( 'mo_openid_admin_settings_phone_script', plugins_url('includes/js/phone.js', __FILE__ ));
|
524 |
+
wp_enqueue_script( 'mo_openid_admin_settings_color_script', plugins_url('includes/jscolor/jscolor.js', __FILE__ ));
|
525 |
+
wp_enqueue_script( 'mo_openid_admin_settings_script', plugins_url('includes/js/settings.js?version=4.9.6', __FILE__ ), array('jquery'));
|
526 |
+
wp_enqueue_script( 'mo_openid_admin_settings_phone_script', plugins_url('includes/js/bootstrap.min.js', __FILE__ ));
|
527 |
+
wp_enqueue_script( 'bootstrap_script_hehe', plugins_url( 'includes/js/bootstrap-tour-standalone.min.js', __FILE__ ) );
|
528 |
+
}
|
529 |
+
|
530 |
+
|
531 |
+
function mo_openid_success_message() {
|
532 |
$message = get_option('mo_openid_message'); ?>
|
533 |
<script>
|
534 |
|
616 |
}
|
617 |
return false;
|
618 |
}
|
619 |
+
function miniorange_openid_save_settings(){
|
620 |
|
621 |
+
if ( current_user_can( 'manage_options' )){
|
622 |
+
if(is_admin() && get_option('Activated_Plugin')=='Plugin-Slug') {
|
623 |
|
624 |
+
delete_option('Activated_Plugin');
|
625 |
+
update_option('mo_openid_message','Go to plugin <b><a href="admin.php?page=mo_openid_settings">settings</a></b> to enable Social Login, Social Sharing by miniOrange.');
|
626 |
+
add_action('admin_notices', array($this, 'mo_openid_activation_message'));
|
627 |
+
}
|
628 |
|
629 |
+
if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_connect_register_customer" ) { //register the admin to miniOrange
|
630 |
+
|
631 |
+
//validation and sanitization
|
632 |
+
$company = '';
|
633 |
+
$first_name = '';
|
634 |
+
$last_name = '';
|
635 |
+
$email = '';
|
636 |
+
$phone = '';
|
637 |
+
$password = '';
|
638 |
+
$confirmPassword = '';
|
639 |
+
$illegal = "#$%^*()+=[]';,/{}|:<>?~";
|
640 |
+
$illegal = $illegal . '"';
|
641 |
+
if( $this->mo_openid_check_empty_or_null( $_POST['company'] ) || $this->mo_openid_check_empty_or_null( $_POST['email'] ) || $this->mo_openid_check_empty_or_null( $_POST['password'] ) || $this->mo_openid_check_empty_or_null( $_POST['confirmPassword'] ) ) {
|
642 |
+
update_option( 'mo_openid_message', 'All the fields are required. Please enter valid entries.');
|
643 |
+
$this->mo_openid_show_error_message();
|
644 |
+
if(get_option('regi_pop_up') =="yes") {
|
645 |
+
update_option('pop_regi_msg', get_option('mo_openid_message'));
|
646 |
+
mo_openid_registeration_modal();
|
647 |
+
}
|
648 |
+
return;
|
649 |
+
} else if( strlen( $_POST['password'] ) < 6 || strlen( $_POST['confirmPassword'] ) < 6){ //check password is of minimum length 6
|
650 |
+
update_option( 'mo_openid_message', 'Choose a password with minimum length 6.');
|
651 |
+
$this->mo_openid_show_error_message();
|
652 |
+
if(get_option('regi_pop_up') =="yes"){
|
653 |
+
update_option('pop_regi_msg', get_option('mo_openid_message'));
|
654 |
+
mo_openid_registeration_modal();
|
655 |
+
}
|
656 |
+
return;
|
657 |
+
} else if(strpbrk($_POST['email'],$illegal)) {
|
658 |
+
update_option( 'mo_openid_message', 'Please match the format of Email. No special characters are allowed.');
|
659 |
+
$this->mo_openid_show_error_message();
|
660 |
+
if(get_option('regi_pop_up') =="yes"){
|
661 |
+
update_option('pop_regi_msg', get_option('mo_openid_message'));
|
662 |
+
mo_openid_registeration_modal();
|
663 |
+
}
|
664 |
+
return;
|
665 |
+
} else {
|
666 |
+
$company = sanitize_text_field($_POST['company']);
|
667 |
+
$first_name = sanitize_text_field(isset($_POST['fname'])?$_POST['fname']:'');
|
668 |
+
$last_name = sanitize_text_field(isset($_POST['lname'])?$_POST['lname']:'');
|
669 |
+
$email = sanitize_email( $_POST['email'] );
|
670 |
+
$phone = sanitize_text_field( isset($_POST['phone'])?$_POST['phone']:'' );
|
671 |
+
$password = sanitize_text_field( $_POST['password'] );
|
672 |
+
$confirmPassword = sanitize_text_field( $_POST['confirmPassword'] );
|
673 |
+
}
|
674 |
|
675 |
+
update_option( 'mo_openid_admin_company_name', $company);
|
676 |
+
update_option( 'mo_openid_admin_first_name', $first_name);
|
677 |
+
update_option( 'mo_openid_admin_last_name', $last_name);
|
678 |
+
update_option( 'mo_openid_admin_email', $email );
|
679 |
+
update_option( 'mo_openid_admin_phone', $phone );
|
680 |
+
|
681 |
+
if( strcmp( $password, $confirmPassword) == 0 ) {
|
682 |
+
update_option( 'mo_openid_admin_password', $password );
|
683 |
+
|
684 |
+
$customer = new CustomerOpenID();
|
685 |
+
$content = json_decode($customer->check_customer(), true);
|
686 |
+
if( strcasecmp( $content['status'], 'CUSTOMER_NOT_FOUND') == 0 ){
|
687 |
+
$content = json_decode($customer->send_otp_token('EMAIL'), true);
|
688 |
+
if(strcasecmp($content['status'], 'SUCCESS') == 0) {
|
689 |
+
if(get_option('mo_openid_email_otp_count')){
|
690 |
+
update_option('mo_openid_email_otp_count',get_option('mo_openid_email_otp_count') + 1);
|
691 |
+
update_option('mo_openid_message', 'Another One Time Passcode has been sent <b>( ' . get_option('mo_openid_email_otp_count') . ' )</b> for verification to ' . get_option('mo_openid_admin_email'));
|
692 |
+
}else{
|
693 |
+
update_option( 'mo_openid_message', ' A passcode is sent to ' . get_option('mo_openid_admin_email') . '. Please enter the otp here to verify your email.');
|
694 |
+
update_option('mo_openid_email_otp_count',1);
|
695 |
+
}
|
696 |
+
update_option('mo_openid_transactionId',$content['txId']);
|
697 |
+
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_SUCCESS');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
698 |
|
699 |
+
$this->mo_openid_show_success_message();
|
700 |
+
if(get_option('regi_pop_up') =="yes")
|
701 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
702 |
+
}else{
|
703 |
+
|
704 |
+
update_option('mo_openid_message','There was an error in sending email. Please click on Resend OTP to try again.');
|
705 |
+
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_FAILURE');
|
706 |
+
$this->mo_openid_show_error_message();
|
707 |
+
if(get_option('regi_pop_up') =="yes")
|
708 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
709 |
+
}
|
710 |
+
}else{
|
711 |
+
$this->get_current_customer();
|
712 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
713 |
|
714 |
+
} else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
715 |
|
716 |
+
update_option( 'mo_openid_message', 'Passwords do not match.');
|
717 |
+
if(get_option('regi_pop_up') =="yes"){
|
718 |
+
update_option('pop_regi_msg', get_option('mo_openid_message'));
|
719 |
+
mo_openid_registeration_modal();
|
720 |
+
}
|
721 |
+
delete_option('mo_openid_verify_customer');
|
722 |
+
$this->mo_openid_show_error_message();
|
723 |
+
}
|
724 |
|
725 |
+
} else if( isset( $_POST['show_login'] ) )
|
726 |
+
{
|
727 |
|
728 |
+
mo_pop_show_verify_password_page();
|
729 |
+
}
|
730 |
+
else if(isset($_POST['option']) and $_POST['option'] == "mo_openid_validate_otp"){
|
731 |
+
//validation and sanitization
|
732 |
+
$otp_token = '';
|
733 |
+
if( $this->mo_openid_check_empty_or_null( $_POST['otp_token'] ) ) {
|
734 |
+
update_option( 'mo_openid_message', 'Please enter a value in OTP field.');
|
735 |
+
update_option('mo_openid_registration_status','MO_OTP_VALIDATION_FAILURE');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
736 |
|
737 |
+
$this->mo_openid_show_error_message();
|
738 |
+
if(get_option('regi_pop_up') =="yes")
|
739 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
740 |
+
return;
|
741 |
+
} else if(!preg_match('/^[0-9]*$/', $_POST['otp_token'])) {
|
742 |
+
update_option( 'mo_openid_message', 'Please enter a valid value in OTP field.');
|
743 |
+
update_option('mo_openid_registration_status','MO_OTP_VALIDATION_FAILURE');
|
744 |
+
$this->mo_openid_show_error_message();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
745 |
|
746 |
+
if(get_option('regi_pop_up') =="yes")
|
747 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
748 |
+
return;
|
749 |
+
} else{
|
750 |
+
$otp_token = sanitize_text_field( $_POST['otp_token'] );
|
751 |
+
}
|
752 |
+
|
753 |
+
$customer = new CustomerOpenID();
|
754 |
+
$content = json_decode($customer->validate_otp_token(get_option('mo_openid_transactionId'), $otp_token ),true);
|
755 |
+
if(strcasecmp($content['status'], 'SUCCESS') == 0) {
|
756 |
+
$this->create_customer();
|
757 |
+
update_option('mo_openid_oauth','1');
|
758 |
+
update_option('mo_openid_new_user','1');
|
759 |
+
update_option('mo_openid_malform_error','1');
|
760 |
+
|
761 |
+
}else{
|
762 |
+
update_option( 'mo_openid_message','Invalid one time passcode. Please enter a valid passcode.');
|
763 |
+
update_option('mo_openid_registration_status','MO_OTP_VALIDATION_FAILURE');
|
764 |
+
$this->mo_openid_show_error_message();
|
765 |
+
if(get_option('regi_pop_up') =="yes")
|
766 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
767 |
+
}
|
768 |
+
}
|
769 |
+
else if( isset($_POST['option']) and $_POST['option'] == 'mo_openid_phone_verification'){ //at registration time
|
770 |
+
$phone = sanitize_text_field($_POST['phone_number']);
|
771 |
+
|
772 |
+
$phone = str_replace(' ', '', $phone);
|
773 |
+
update_option('mo_openid_admin_phone',$phone);
|
774 |
+
$auth_type = 'SMS';
|
775 |
+
$customer = new CustomerOpenID();
|
776 |
+
$send_otp_response = json_decode($customer->send_otp_token($auth_type),true);
|
777 |
+
if(strcasecmp($send_otp_response['status'], 'SUCCESS') == 0){
|
778 |
+
//Save txId
|
779 |
+
|
780 |
+
update_option('mo_openid_transactionId',$send_otp_response['txId']);
|
781 |
+
update_option( 'mo_openid_registration_status','MO_OTP_DELIVERED_SUCCESS');
|
782 |
+
if(get_option('mo_openid_sms_otp_count')){
|
783 |
+
update_option('mo_openid_sms_otp_count',get_option('mo_openid_sms_otp_count') + 1);
|
784 |
+
update_option('mo_openid_message', 'Another One Time Passcode has been sent <b>( ' . get_option('mo_openid_sms_otp_count') . ' )</b> for verification to ' . $phone);
|
785 |
+
}else{
|
786 |
+
|
787 |
+
update_option('mo_openid_message', 'One Time Passcode has been sent for verification to ' . $phone);
|
788 |
+
update_option('mo_openid_sms_otp_count',1);
|
789 |
+
}
|
790 |
+
|
791 |
+
$this->mo_openid_show_success_message();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
792 |
|
793 |
+
}else{
|
794 |
+
update_option('mo_openid_message','There was an error in sending sms. Please click on Resend OTP link next to phone number textbox.');
|
795 |
+
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_FAILURE');
|
796 |
+
$this->mo_openid_show_error_message();
|
797 |
|
798 |
+
}
|
799 |
+
}
|
800 |
+
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_connect_verify_customer" ) { //register the admin to miniOrange
|
801 |
+
|
802 |
+
//validation and sanitization
|
803 |
+
$email = '';
|
804 |
+
$password = '';
|
805 |
+
$illegal = "#$%^*()+=[]';,/{}|:<>?~";
|
806 |
+
$illegal = $illegal . '"';
|
807 |
+
if( $this->mo_openid_check_empty_or_null( $_POST['email'] ) || $this->mo_openid_check_empty_or_null( $_POST['password'] ) ) {
|
808 |
+
update_option( 'mo_openid_message', 'All the fields are required. Please enter valid entries.');
|
809 |
+
$this->mo_openid_show_error_message();
|
810 |
+
return;
|
811 |
+
} else if(strpbrk($_POST['email'],$illegal)) {
|
812 |
+
update_option( 'mo_openid_message', 'Please match the format of Email. No special characters are allowed.');
|
813 |
+
$this->mo_openid_show_error_message();
|
814 |
+
return;
|
815 |
+
} else{
|
816 |
+
$email = sanitize_email( $_POST['email'] );
|
817 |
+
$password = sanitize_text_field( $_POST['password'] );
|
818 |
+
}
|
819 |
+
|
820 |
+
update_option( 'mo_openid_admin_email', $email );
|
821 |
+
update_option( 'mo_openid_admin_password', $password );
|
822 |
+
$customer = new CustomerOpenID();
|
823 |
+
$content = $customer->get_customer_key();
|
824 |
+
$customerKey = json_decode( $content, true );
|
825 |
+
if( isset($customerKey) ) {
|
826 |
+
update_option( 'mo_openid_admin_customer_key', $customerKey['id'] );
|
827 |
+
update_option( 'mo_openid_admin_api_key', $customerKey['apiKey'] );
|
828 |
+
update_option( 'mo_openid_customer_token', $customerKey['token'] );
|
829 |
+
update_option( 'mo_openid_admin_phone', $customerKey['phone'] );
|
830 |
+
update_option('mo_openid_admin_password', '');
|
831 |
+
update_option( 'mo_openid_message', 'Your account has been retrieved successfully.');
|
832 |
+
delete_option('mo_openid_verify_customer');
|
833 |
+
$this->mo_openid_show_success_message();
|
834 |
+
|
835 |
+
} else {
|
836 |
+
update_option( 'mo_openid_message', 'Invalid username or password. Please try again.');
|
837 |
+
$this->mo_openid_show_error_message();
|
838 |
+
if(get_option('regi_pop_up') =="yes") {
|
839 |
+
update_option("pop_login_msg",get_option("mo_openid_message"));
|
840 |
+
mo_pop_show_verify_password_page();
|
841 |
+
|
842 |
+
}
|
843 |
+
}
|
844 |
+
update_option('mo_openid_admin_password', '');
|
845 |
+
}
|
846 |
+
else if(isset($_POST['option']) and $_POST['option'] == 'mo_openid_forgot_password'){
|
847 |
+
|
848 |
+
$email ='';
|
849 |
+
if( $this->mo_openid_check_empty_or_null( $email ) ) {
|
850 |
+
if( $this->mo_openid_check_empty_or_null( $_POST['email'] ) ) {
|
851 |
+
update_option( 'mo_openid_message', 'No email provided. Please enter your email below to reset password.');
|
852 |
+
$this->mo_openid_show_error_message();
|
853 |
+
if(get_option('regi_pop_up') =="yes"){
|
854 |
+
update_option("pop_login_msg",get_option("mo_openid_message"));
|
855 |
+
mo_pop_show_verify_password_page();
|
856 |
+
|
857 |
+
}
|
858 |
+
return;
|
859 |
+
} else {
|
860 |
+
$email = $_POST['email'];
|
861 |
+
|
862 |
+
}
|
863 |
+
}
|
864 |
+
|
865 |
+
|
866 |
+
$customer = new CustomerOpenID();
|
867 |
+
$content = json_decode($customer->forgot_password($email),true);
|
868 |
+
if(strcasecmp($content['status'], 'SUCCESS') == 0){
|
869 |
+
update_option( 'mo_openid_message','You password has been reset successfully. Please enter the new password sent to your registered mail here.');
|
870 |
+
$this->mo_openid_show_success_message();
|
871 |
+
if(get_option('regi_pop_up') =="yes"){
|
872 |
+
update_option("pop_login_msg",get_option("mo_openid_message"));
|
873 |
+
mo_pop_show_verify_password_page();
|
874 |
+
|
875 |
+
}
|
876 |
+
}else{
|
877 |
+
update_option( 'mo_openid_message','An error occured while processing your request. Please make sure you are registered with miniOrange with the given email address.');
|
878 |
+
$this->mo_openid_show_error_message();
|
879 |
+
if(get_option('regi_pop_up') =="yes"){
|
880 |
+
update_option("pop_login_msg",get_option("mo_openid_message"));
|
881 |
+
mo_pop_show_verify_password_page();
|
882 |
+
|
883 |
+
}
|
884 |
+
}
|
885 |
+
}
|
886 |
+
else if(isset($_POST['option']) and $_POST['option'] == 'mo_openid_check_license'){
|
887 |
+
if(mo_openid_is_customer_registered()) {
|
888 |
+
$customer = new CustomerOpenID();
|
889 |
+
$content = json_decode($customer->check_customer_valid(),true);
|
890 |
+
if(strcasecmp($content['status'], 'SUCCESS') == 0){
|
891 |
+
update_option( 'mo_openid_admin_customer_valid', strcasecmp($content['licenseType'], 'Premium') !== FALSE ? 1 : 0);
|
892 |
+
update_option( 'mo_openid_admin_customer_plan', isset($content['licensePlan']) ? base64_encode($content['licensePlan']) : 0);
|
893 |
+
if(get_option('mo_openid_admin_customer_valid') && isset($content['licensePlan'])){
|
894 |
+
$license = explode(' -', $content['licensePlan']);
|
895 |
+
$lp = $license[0];
|
896 |
+
update_option( 'mo_openid_message','You are on the old ' . $lp . '.');
|
897 |
+
} else
|
898 |
+
update_option( 'mo_openid_message','You are on the Free Plan.');
|
899 |
+
$this->mo_openid_show_success_message();
|
900 |
+
}else if(strcasecmp($content['status'], 'FAILED') == 0){
|
901 |
+
update_option('mo_openid_message', 'You are on Free Plan.');
|
902 |
+
$this->mo_openid_show_success_message();
|
903 |
+
}else{
|
904 |
+
update_option( 'mo_openid_message','An error occured while processing your request. Please try again.');
|
905 |
+
$this->mo_openid_show_error_message();
|
906 |
+
}
|
907 |
+
} else {
|
908 |
+
update_option('mo_openid_message', 'Please register an account before trying to check your plan');
|
909 |
+
$this->mo_openid_show_error_message();
|
910 |
+
}
|
911 |
+
}
|
912 |
+
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_enable_apps" ) {
|
913 |
+
|
914 |
+
|
915 |
+
update_option( 'mo_openid_google_enable', isset( $_POST['mo_openid_google_enable']) ? $_POST['mo_openid_google_enable'] : 0);
|
916 |
+
update_option( 'mo_openid_salesforce_enable', isset( $_POST['mo_openid_salesforce_enable']) ? $_POST['mo_openid_salesforce_enable'] : 0);
|
917 |
if($this->if_custom_app_exists('facebook')) {
|
918 |
update_option('mo_openid_facebook_enable', isset($_POST['mo_openid_facebook_enable']) ? $_POST['mo_openid_facebook_enable'] : 0);
|
919 |
}
|
923 |
|
924 |
}
|
925 |
update_option( 'mo_openid_linkedin_enable', isset( $_POST['mo_openid_linkedin_enable']) ? $_POST['mo_openid_linkedin_enable'] : 0);
|
926 |
+
update_option( 'mo_openid_windowslive_enable', isset( $_POST['mo_openid_windowslive_enable']) ? $_POST['mo_openid_windowslive_enable'] : 0);
|
927 |
+
update_option( 'mo_openid_amazon_enable', isset( $_POST['mo_openid_amazon_enable']) ? $_POST['mo_openid_amazon_enable'] : 0);
|
928 |
+
update_option( 'mo_openid_instagram_enable', isset( $_POST['mo_openid_instagram_enable']) ? $_POST['mo_openid_instagram_enable'] : 0);
|
929 |
+
update_option( 'mo_openid_twitter_enable', isset( $_POST['mo_openid_twitter_enable']) ? $_POST['mo_openid_twitter_enable'] : 0);
|
930 |
+
update_option( 'mo_openid_vkontakte_enable', isset( $_POST['mo_openid_vkontakte_enable']) ? $_POST['mo_openid_vkontakte_enable'] : 0);
|
931 |
|
932 |
+
update_option( 'mo_openid_default_login_enable', isset( $_POST['mo_openid_default_login_enable']) ? $_POST['mo_openid_default_login_enable'] : 0);
|
933 |
+
update_option( 'mo_openid_default_register_enable', isset( $_POST['mo_openid_default_register_enable']) ? $_POST['mo_openid_default_register_enable'] : 0);
|
934 |
+
update_option( 'mo_openid_default_comment_enable', isset( $_POST['mo_openid_default_comment_enable']) ? $_POST['mo_openid_default_comment_enable'] : 0);
|
935 |
|
936 |
|
937 |
|
943 |
update_option('mo_openid_gdpr_consent_message', isset($_POST['mo_openid_gdpr_consent_message']) ? stripslashes($_POST['mo_openid_gdpr_consent_message']) : get_option('mo_openid_gdpr_consent_message'));
|
944 |
}
|
945 |
//Redirect URL
|
946 |
+
update_option( 'mo_openid_login_redirect', $_POST['mo_openid_login_redirect']);
|
947 |
+
update_option( 'mo_openid_login_redirect_url', $_POST['mo_openid_login_redirect_url'] );
|
948 |
update_option( 'mo_openid_relative_login_redirect_url', isset( $_POST['mo_openid_relative_login_redirect_url']) ? $_POST['mo_openid_relative_login_redirect_url'] : "" );
|
949 |
|
950 |
+
//Logout Url
|
951 |
+
update_option( 'mo_openid_logout_redirection_enable', isset( $_POST['mo_openid_logout_redirection_enable']) ? $_POST['mo_openid_logout_redirection_enable'] : 0);
|
952 |
+
update_option( 'mo_openid_logout_redirect', $_POST['mo_openid_logout_redirect']);
|
953 |
+
update_option( 'mo_openid_logout_redirect_url', $_POST['mo_openid_logout_redirect_url'] );
|
954 |
|
955 |
+
//auto register
|
956 |
+
update_option( 'mo_openid_auto_register_enable', isset( $_POST['mo_openid_auto_register_enable']) ? $_POST['mo_openid_auto_register_enable'] : 0);
|
957 |
+
update_option( 'mo_openid_register_disabled_message', $_POST['mo_openid_register_disabled_message']);
|
958 |
|
959 |
|
960 |
+
//email notification
|
961 |
+
update_option( 'mo_openid_email_enable', isset( $_POST['mo_openid_email_enable']) ? $_POST['mo_openid_email_enable'] : 0);
|
962 |
|
963 |
+
//Customized text
|
964 |
+
update_option('mo_openid_login_widget_customize_text',$_POST['mo_openid_login_widget_customize_text'] );
|
965 |
+
update_option( 'mo_openid_login_button_customize_text',$_POST['mo_openid_login_button_customize_text'] );
|
966 |
|
967 |
//profile completion
|
968 |
update_option('mo_openid_enable_profile_completion', isset( $_POST['mo_openid_enable_profile_completion']) ? $_POST['mo_openid_enable_profile_completion'] : 0);
|
969 |
|
970 |
if(get_option('mo_openid_enable_profile_completion') == 1) {
|
971 |
+
// update_option('mo_profile_completion_form_title', $_POST['mo_profile_completion_form_title']);
|
972 |
+
//update_option('mo_profile_completion_form_message', $_POST['mo_profile_completion_form_message']);
|
973 |
+
|
974 |
+
update_option('mo_profile_complete_title', $_POST['mo_profile_complete_title']);
|
975 |
+
update_option('mo_profile_complete_username_label', $_POST['mo_profile_complete_username_label']);
|
976 |
+
update_option('mo_profile_complete_email_label', $_POST['mo_profile_complete_email_label']);
|
977 |
+
update_option('mo_profile_complete_submit_button', $_POST['mo_profile_complete_submit_button']);
|
978 |
+
update_option('mo_profile_complete_instruction', $_POST['mo_profile_complete_instruction']);
|
979 |
+
update_option('mo_profile_complete_extra_instruction', $_POST['mo_profile_complete_extra_instruction']);
|
980 |
+
update_option('mo_profile_complete_uname_exist', $_POST['mo_profile_complete_uname_exist']);
|
981 |
+
|
982 |
+
update_option('mo_email_verify_resend_otp_button', $_POST['mo_email_verify_resend_otp_button']);
|
983 |
+
update_option('mo_email_verify_back_button', $_POST['mo_email_verify_back_button']);
|
984 |
+
update_option('mo_email_verify_title', $_POST['mo_email_verify_title']);
|
985 |
+
update_option('mo_email_verify_message', $_POST['mo_email_verify_message']);
|
986 |
+
update_option('mo_email_verify_verification_code_instruction', $_POST['mo_email_verify_verification_code_instruction']);
|
987 |
+
update_option('mo_email_verify_wrong_otp', $_POST['mo_email_verify_wrong_otp']);
|
988 |
+
}
|
989 |
//account-linking
|
990 |
update_option( 'mo_openid_account_linking_enable', isset( $_POST['mo_openid_account_linking_enable']) ? $_POST['mo_openid_account_linking_enable'] : 0);
|
991 |
|
992 |
+
if(get_option('mo_openid_account_linking_enable') == 1 && (!mo_openid_restrict_user()))
|
993 |
+
{
|
994 |
// update_option('mo_account_linking_form_title', $_POST['mo_account_linking_form_title']);
|
995 |
+
//update_option('mo_account_linking_form_message', $_POST['mo_account_linking_form_message']);
|
996 |
|
997 |
+
update_option('mo_account_linking_title', $_POST['mo_account_linking_title']);
|
998 |
+
update_option('mo_account_linking_new_user_button', $_POST['mo_account_linking_new_user_button']);
|
999 |
+
update_option('mo_account_linking_existing_user_button', $_POST['mo_account_linking_existing_user_button']);
|
1000 |
+
update_option('mo_account_linking_new_user_instruction', $_POST['mo_account_linking_new_user_instruction']);
|
1001 |
+
update_option('mo_account_linking_existing_user_instruction', $_POST['mo_account_linking_existing_user_instruction']);
|
1002 |
+
update_option('mo_account_linking_extra_instruction', $_POST['mo_account_linking_extra_instruction']);
|
1003 |
|
1004 |
|
1005 |
+
}
|
1006 |
|
1007 |
|
1008 |
|
1009 |
if(!get_option('mo_openid_oauth')){
|
1010 |
update_option('mo_openid_login_widget_customize_logout_name_text',sanitize_text_field($_POST['mo_openid_login_widget_customize_logout_name_text']));
|
1011 |
update_option( 'mo_openid_login_widget_customize_logout_text',sanitize_text_field($_POST['mo_openid_login_widget_customize_logout_text']));
|
1012 |
+
update_option('moopenid_logo_check', isset( $_POST['moopenid_logo_check']) ? $_POST['moopenid_logo_check'] : 0);
|
1013 |
|
1014 |
+
}else{
|
1015 |
update_option('moopenid_logo_check', isset( $_POST['moopenid_logo_check']) ? $_POST['moopenid_logo_check'] : 0);
|
1016 |
}
|
1017 |
|
1018 |
+
update_option('mo_login_openid_login_widget_customize_textcolor',$_POST['mo_login_openid_login_widget_customize_textcolor']);
|
1019 |
+
update_option('mo_openid_login_theme',$_POST['mo_openid_login_theme'] );
|
1020 |
+
update_option( 'mo_openid_message', 'Your settings are saved successfully.' );
|
1021 |
|
1022 |
+
//customization of icons
|
1023 |
+
update_option('mo_login_icon_custom_size',$_POST['mo_login_icon_custom_size'] );
|
1024 |
+
update_option('mo_login_icon_space',$_POST['mo_login_icon_space'] );
|
1025 |
+
update_option('mo_login_icon_custom_width',$_POST['mo_login_icon_custom_width'] );
|
1026 |
+
update_option('mo_login_icon_custom_height',$_POST['mo_login_icon_custom_height'] );
|
1027 |
+
update_option('mo_openid_login_custom_theme',$_POST['mo_openid_login_custom_theme'] );
|
1028 |
+
update_option( 'mo_login_icon_custom_color', $_POST['mo_login_icon_custom_color'] );
|
1029 |
+
update_option('mo_login_icon_custom_boundary',$_POST['mo_login_icon_custom_boundary']);
|
1030 |
|
1031 |
+
// avatar
|
1032 |
+
update_option( 'moopenid_social_login_avatar', isset( $_POST['moopenid_social_login_avatar']) ? $_POST['moopenid_social_login_avatar'] : 0);
|
1033 |
|
1034 |
|
1035 |
+
if(isset($_POST['mapping_value_default']))
|
1036 |
+
update_option('mo_openid_login_role_mapping', isset( $_POST['mapping_value_default']) ? $_POST['mapping_value_default'] : 'subscriber');
|
1037 |
|
1038 |
+
if(mo_openid_is_customer_valid() && !mo_openid_get_customer_plan('Do It Yourself')){
|
1039 |
+
//Attribute collection
|
1040 |
+
update_option( 'moopenid_user_attributes', isset( $_POST['moopenid_user_attributes']) ? $_POST['moopenid_user_attributes'] : 0);
|
1041 |
+
}
|
1042 |
|
1043 |
+
$this->mo_openid_show_success_message();
|
1044 |
if(!mo_openid_is_customer_registered()) {
|
1045 |
+
mo_openid_registeration_modal();
|
|
|
|
|
1046 |
}
|
1047 |
|
1048 |
|
1049 |
+
}else if(isset($_POST['go_to_register'])) {
|
1050 |
+
mo_openid_registeration_modal();
|
1051 |
+
} else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_save_woocommerce_field" ) {
|
1052 |
+
//woocommerce integration
|
1053 |
+
// woocommerce display options
|
1054 |
+
if(!mo_openid_restrict_user()) {
|
1055 |
+
|
1056 |
+
update_option('mo_openid_woocommerce_login_form', isset($_POST['mo_openid_woocommerce_login_form']) ? $_POST['mo_openid_woocommerce_login_form'] : 0);
|
1057 |
+
update_option('mo_openid_woocommerce_before_login_form', isset($_POST['mo_openid_woocommerce_before_login_form']) ? $_POST['mo_openid_woocommerce_before_login_form'] : 0);
|
1058 |
+
update_option('mo_openid_woocommerce_center_login_form', isset($_POST['mo_openid_woocommerce_center_login_form']) ? $_POST['mo_openid_woocommerce_center_login_form'] : 0);
|
1059 |
+
update_option('mo_openid_woocommerce_register_form_start', isset($_POST['mo_openid_woocommerce_register_form_start']) ? $_POST['mo_openid_woocommerce_register_form_start'] : 0);
|
1060 |
+
update_option('mo_openid_woocommerce_center_register_form', isset($_POST['mo_openid_woocommerce_center_register_form']) ? $_POST['mo_openid_woocommerce_center_register_form'] : 0);
|
1061 |
+
update_option('mo_openid_woocommerce_register_form_end', isset($_POST['mo_openid_woocommerce_register_form_end']) ? $_POST['mo_openid_woocommerce_register_form_end'] : 0);
|
1062 |
+
update_option('mo_openid_woocommerce_before_checkout_billing_form', isset($_POST['mo_openid_woocommerce_before_checkout_billing_form']) ? $_POST['mo_openid_woocommerce_before_checkout_billing_form'] : 0);
|
1063 |
+
update_option('mo_openid_woocommerce_after_checkout_billing_form', isset($_POST['mo_openid_woocommerce_after_checkout_billing_form']) ? $_POST['mo_openid_woocommerce_after_checkout_billing_form'] : 0);
|
1064 |
+
}
|
1065 |
|
1066 |
+
}else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_save_buddypress_field" ){
|
1067 |
+
|
1068 |
+
//buddypress display options
|
1069 |
+
if(!mo_openid_restrict_user()) {
|
1070 |
+
update_option('mo_openid_bp_before_register_page', isset($_POST['mo_openid_bp_before_register_page']) ? $_POST['mo_openid_bp_before_register_page'] : 0);
|
1071 |
+
update_option('mo_openid_bp_before_account_details_fields', isset($_POST['mo_openid_bp_before_account_details_fields']) ? $_POST['mo_openid_bp_before_account_details_fields'] : 0);
|
1072 |
+
update_option('mo_openid_bp_after_register_page', isset($_POST['mo_openid_bp_after_register_page']) ? $_POST['mo_openid_bp_after_register_page'] : 0);
|
1073 |
+
}
|
|
|
1074 |
|
|
|
1075 |
|
|
|
|
|
|
|
|
|
|
|
1076 |
}
|
1077 |
+
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_save_comment_settings" ) {
|
1078 |
|
1079 |
|
1080 |
+
//commenting
|
1081 |
+
update_option( 'mo_openid_social_comment_fb', isset( $_POST['mo_openid_social_comment_fb']) ? $_POST['mo_openid_social_comment_fb'] : 0);
|
1082 |
+
update_option( 'mo_openid_social_comment_google', isset( $_POST['mo_openid_social_comment_google']) ? $_POST['mo_openid_social_comment_google'] : 0);
|
1083 |
+
update_option( 'mo_openid_social_comment_default', isset( $_POST['mo_openid_social_comment_default']) ? $_POST['mo_openid_social_comment_default'] : 0);
|
1084 |
+
|
1085 |
+
//comment position
|
1086 |
+
update_option( 'mo_openid_social_comment_blogpost', isset( $_POST['mo_openid_social_comment_blogpost']) ? $_POST['mo_openid_social_comment_blogpost'] : 0);
|
1087 |
+
update_option( 'mo_openid_social_comment_static', isset( $_POST['mo_openid_social_comment_static']) ? $_POST['mo_openid_social_comment_static'] : 0);
|
1088 |
+
|
1089 |
+
//comment labels
|
1090 |
+
update_option('mo_openid_social_comment_default_label',$_POST['mo_openid_social_comment_default_label'] );
|
1091 |
+
update_option('mo_openid_social_comment_fb_label',$_POST['mo_openid_social_comment_fb_label'] );
|
1092 |
+
update_option('mo_openid_social_comment_google_label',$_POST['mo_openid_social_comment_google_label'] );
|
1093 |
+
update_option('mo_openid_social_comment_heading_label',$_POST['mo_openid_social_comment_heading_label'] );
|
1094 |
+
|
1095 |
+
update_option( 'mo_openid_message', 'Your settings are saved successfully.' );
|
1096 |
+
$this->mo_openid_show_success_message();
|
1097 |
+
if(!mo_openid_is_customer_registered()) {
|
1098 |
+
|
1099 |
+
$redirect = add_query_arg( array('tab' => 'register'), $_SERVER['REQUEST_URI'] );
|
1100 |
+
update_option('mo_openid_message', 'Your settings are successfully saved. Please <a href=\" '. $redirect .'\">Register or Login with miniOrange</a> to enable Social Login and Social Sharing.');
|
1101 |
+
$this->mo_openid_show_error_message();
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
|
1105 |
+
}
|
1106 |
+
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_contact_us_query_option" ) {
|
1107 |
+
// Contact Us query
|
1108 |
+
$email = $_POST['mo_openid_contact_us_email'];
|
1109 |
+
$phone = $_POST['mo_openid_contact_us_phone'];
|
1110 |
+
$query = $_POST['mo_openid_contact_us_query'];
|
1111 |
+
$customer = new CustomerOpenID();
|
1112 |
+
if ( $this->mo_openid_check_empty_or_null( $email ) || $this->mo_openid_check_empty_or_null( $query ) ) {
|
1113 |
+
update_option('mo_openid_message', 'Please fill up Email and Query fields to submit your query.');
|
1114 |
+
$this->mo_openid_show_error_message();
|
1115 |
+
} else {
|
1116 |
+
$submited = $customer->submit_contact_us( $email, $phone, $query );
|
1117 |
+
if ( $submited == false ) {
|
1118 |
+
update_option('mo_openid_message', 'Your query could not be submitted. Please try again.');
|
1119 |
+
$this->mo_openid_show_error_message();
|
1120 |
+
} else {
|
1121 |
+
update_option('mo_openid_message', 'Thanks for getting in touch! We shall get back to you shortly.');
|
1122 |
+
$this->mo_openid_show_success_message();
|
1123 |
+
}
|
1124 |
+
}
|
1125 |
}
|
1126 |
+
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_resend_otp" ) {
|
1127 |
+
|
1128 |
+
$customer = new CustomerOpenID();
|
1129 |
+
$content = json_decode($customer->send_otp_token('EMAIL'), true);
|
1130 |
+
if(strcasecmp($content['status'], 'SUCCESS') == 0) {
|
1131 |
+
if(get_option('mo_openid_email_otp_count')){
|
1132 |
+
update_option('mo_openid_email_otp_count',get_option('mo_openid_email_otp_count') + 1);
|
1133 |
+
update_option('mo_openid_message', 'Another One Time Passcode has been sent <b>( ' . get_option('mo_openid_email_otp_count') . ' )</b> for verification to ' . get_option('mo_openid_admin_email'));
|
1134 |
+
if(get_option('regi_pop_up') =="yes")
|
1135 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
1136 |
+
}else{
|
1137 |
+
update_option( 'mo_openid_message', ' A passcode is sent to ' . get_option('mo_openid_admin_email') . '. Please enter the otp here to verify your email.');
|
1138 |
+
update_option('mo_openid_email_otp_count',1);
|
1139 |
+
if(get_option('regi_pop_up') =="yes")
|
1140 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
1141 |
+
}
|
1142 |
+
update_option('mo_openid_transactionId',$content['txId']);
|
1143 |
+
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_SUCCESS');
|
1144 |
+
$this->mo_openid_show_success_message();
|
1145 |
+
}else{
|
1146 |
|
1147 |
+
update_option('mo_openid_message','There was an error in sending email. Please click on Resend OTP to try again.');
|
1148 |
+
update_option('mo_openid_registration_status','MO_OTP_DELIVERED_FAILURE');
|
1149 |
+
$this->mo_openid_show_error_message();
|
1150 |
+
if(get_option('regi_pop_up') =="yes")
|
1151 |
+
mo_pop_show_otp_verification(get_option('mo_openid_message'));
|
1152 |
+
}
|
1153 |
|
1154 |
+
}else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_go_back" ){
|
1155 |
+
update_option('mo_openid_registration_status','');
|
1156 |
+
delete_option('mo_openid_new_registration');
|
1157 |
+
delete_option('mo_openid_admin_email');
|
1158 |
+
delete_option('mo_openid_sms_otp_count');
|
1159 |
+
delete_option('mo_openid_email_otp_count');
|
1160 |
+
|
1161 |
+
}else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_go_back_login" ){
|
1162 |
+
update_option('mo_openid_registration_status','');
|
1163 |
+
delete_option('mo_openid_admin_email');
|
1164 |
+
delete_option('mo_openid_admin_phone');
|
1165 |
+
delete_option('mo_openid_admin_password');
|
1166 |
+
delete_option('mo_openid_admin_customer_key');
|
1167 |
+
delete_option('mo_openid_verify_customer');
|
1168 |
+
|
1169 |
+
}else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_go_back_registration" ){
|
1170 |
+
update_option('mo_openid_verify_customer','true');
|
1171 |
+
|
1172 |
+
}else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_save_other_settings" ){
|
1173 |
+
|
1174 |
+
update_option( 'mo_openid_google_share_enable', isset( $_POST['mo_openid_google_share_enable']) ? $_POST['mo_openid_google_share_enable'] : 0);
|
1175 |
+
update_option( 'mo_openid_facebook_share_enable', isset( $_POST['mo_openid_facebook_share_enable']) ? $_POST['mo_openid_facebook_share_enable'] : 0);
|
1176 |
+
update_option( 'mo_openid_linkedin_share_enable', isset( $_POST['mo_openid_linkedin_share_enable']) ? $_POST['mo_openid_linkedin_share_enable'] : 0);
|
1177 |
+
update_option( 'mo_openid_reddit_share_enable', isset( $_POST['mo_openid_reddit_share_enable']) ? $_POST['mo_openid_reddit_share_enable'] : 0);
|
1178 |
+
update_option( 'mo_openid_pinterest_share_enable', isset( $_POST['mo_openid_pinterest_share_enable']) ? $_POST['mo_openid_pinterest_share_enable'] : 0);
|
1179 |
+
update_option( 'mo_openid_twitter_share_enable', isset( $_POST['mo_openid_twitter_share_enable']) ? $_POST['mo_openid_twitter_share_enable'] : 0);
|
1180 |
+
update_option( 'mo_openid_tumblr_share_enable', isset( $_POST['mo_openid_tumblr_share_enable']) ? $_POST['mo_openid_tumblr_share_enable'] : 0);
|
1181 |
+
update_option( 'mo_openid_delicious_share_enable', isset( $_POST['mo_openid_delicious_share_enable']) ? $_POST['mo_openid_delicious_share_enable'] : 0);
|
1182 |
+
update_option( 'mo_openid_vkontakte_share_enable', isset( $_POST['mo_openid_vkontakte_share_enable']) ? $_POST['mo_openid_vkontakte_share_enable'] : 0);
|
1183 |
+
update_option( 'mo_openid_stumble_share_enable', isset( $_POST['mo_openid_stumble_share_enable']) ? $_POST['mo_openid_stumble_share_enable'] : 0);
|
1184 |
+
update_option( 'mo_openid_odnoklassniki_share_enable', isset( $_POST['mo_openid_odnoklassniki_share_enable']) ? $_POST['mo_openid_odnoklassniki_share_enable'] : 0);
|
1185 |
+
update_option( 'mo_openid_digg_share_enable', isset( $_POST['mo_openid_digg_share_enable']) ? $_POST['mo_openid_digg_share_enable'] : 0);
|
1186 |
+
update_option( 'mo_openid_pocket_share_enable', isset( $_POST['mo_openid_pocket_share_enable']) ? $_POST['mo_openid_pocket_share_enable'] : 0);
|
1187 |
+
|
1188 |
+
update_option( 'mo_openid_mail_share_enable', isset( $_POST['mo_openid_mail_share_enable']) ? $_POST['mo_openid_mail_share_enable'] : 0);
|
1189 |
+
update_option( 'mo_openid_print_share_enable', isset( $_POST['mo_openid_print_share_enable']) ? $_POST['mo_openid_print_share_enable'] : 0);
|
1190 |
+
update_option( 'mo_openid_whatsapp_share_enable', isset( $_POST['mo_openid_whatsapp_share_enable']) ? $_POST['mo_openid_whatsapp_share_enable'] : 0);
|
1191 |
+
|
1192 |
+
update_option('mo_share_options_enable_home_page',isset( $_POST['mo_share_options_home_page']) ? $_POST['mo_share_options_home_page'] : 0);
|
1193 |
+
update_option('mo_share_options_enable_post',isset( $_POST['mo_share_options_post']) ? $_POST['mo_share_options_post'] : 0);
|
1194 |
+
update_option('mo_share_options_enable_static_pages',isset( $_POST['mo_share_options_static_pages']) ? $_POST['mo_share_options_static_pages'] : 0);
|
1195 |
+
update_option('mo_share_options_wc_sp_summary',isset( $_POST['mo_share_options_wc_sp_summary']) ? $_POST['mo_share_options_wc_sp_summary'] : 0);
|
1196 |
+
update_option('mo_share_options_wc_sp_summary_top',isset( $_POST['mo_share_options_wc_sp_summary_top']) ? $_POST['mo_share_options_wc_sp_summary_top'] : 0);
|
1197 |
+
update_option('mo_share_options_enable_post_position',$_POST['mo_share_options_enable_post_position'] );
|
1198 |
+
update_option('mo_share_options_home_page_position',$_POST['mo_share_options_home_page_position'] );
|
1199 |
+
update_option('mo_share_options_static_pages_position',$_POST['mo_share_options_static_pages_position'] );
|
1200 |
+
update_option('mo_share_options_bb_forum_position',$_POST['mo_share_options_bb_forum_position'] );
|
1201 |
+
update_option('mo_share_options_bb_topic_position',$_POST['mo_share_options_bb_topic_position'] );
|
1202 |
+
update_option('mo_share_options_bb_reply_position',$_POST['mo_share_options_bb_reply_position'] );
|
1203 |
+
update_option('mo_openid_share_theme',$_POST['mo_openid_share_theme'] );
|
1204 |
+
update_option('mo_share_vertical_hide_mobile',isset( $_POST['mo_share_vertical_hide_mobile']) ? $_POST['mo_share_vertical_hide_mobile'] : 0);
|
1205 |
+
update_option('mo_share_options_bb_forum',isset( $_POST['mo_share_options_bb_forum']) ? $_POST['mo_share_options_bb_forum'] : 0);
|
1206 |
+
update_option('mo_share_options_bb_topic',isset( $_POST['mo_share_options_bb_topic']) ? $_POST['mo_share_options_bb_topic'] : 0);
|
1207 |
+
update_option('mo_share_options_bb_reply',isset( $_POST['mo_share_options_bb_reply']) ? $_POST['mo_share_options_bb_reply'] : 0);
|
1208 |
+
update_option('mo_openid_share_widget_customize_text',$_POST['mo_openid_share_widget_customize_text'] );
|
1209 |
+
update_option('mo_openid_share_widget_customize_text_color',$_POST['mo_openid_share_widget_customize_text_color'] );
|
1210 |
+
update_option('mo_openid_share_twitter_username', sanitize_text_field($_POST['mo_openid_share_twitter_username'])) ;
|
1211 |
+
update_option('mo_openid_share_email_subject', sanitize_text_field($_POST['mo_openid_share_email_subject'])) ;
|
1212 |
+
update_option('mo_openid_share_email_body', sanitize_text_field($_POST['mo_openid_share_email_body'])) ;
|
1213 |
+
|
1214 |
+
update_option('mo_openid_share_widget_customize_direction_horizontal',isset( $_POST['mo_openid_share_widget_customize_direction_horizontal']) ? $_POST['mo_openid_share_widget_customize_direction_horizontal'] : 0);
|
1215 |
+
update_option('mo_openid_share_widget_customize_direction_vertical',isset( $_POST['mo_openid_share_widget_customize_direction_vertical']) ? $_POST['mo_openid_share_widget_customize_direction_vertical'] : 0);
|
1216 |
+
update_option('mo_sharing_icon_custom_size',isset( $_POST['mo_sharing_icon_custom_size']) ? $_POST['mo_sharing_icon_custom_size'] : 35);
|
1217 |
+
update_option('mo_sharing_icon_custom_color',$_POST['mo_sharing_icon_custom_color'] );
|
1218 |
+
update_option('mo_openid_share_custom_theme',$_POST['mo_openid_share_custom_theme'] );
|
1219 |
+
update_option('mo_sharing_icon_custom_font',$_POST['mo_sharing_icon_custom_font'] );
|
1220 |
+
update_option('mo_sharing_icon_space',$_POST['mo_sharing_icon_space'] );
|
1221 |
+
update_option( 'mo_openid_message', 'Your settings are saved successfully.' );
|
1222 |
+
$this->mo_openid_show_success_message();
|
1223 |
+
if(!mo_openid_is_customer_registered()) {
|
1224 |
+
$redirect = add_query_arg( array('tab' => 'register'), $_SERVER['REQUEST_URI'] );
|
1225 |
+
update_option('mo_openid_message', 'Your settings are successfully saved. Please <a href=\" '. $redirect .'\">Register or Login with miniOrange</a> to enable Social Login and Social Sharing.');
|
1226 |
+
$this->mo_openid_show_error_message();
|
1227 |
+
}
|
1228 |
+
}
|
1229 |
+
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_add_custom_app" ) {
|
1230 |
+
if($this->mo_oauth_check_empty_or_null($_POST['mo_oauth_client_id']) || $this->mo_oauth_check_empty_or_null($_POST['mo_oauth_client_secret'])) {
|
1231 |
+
update_option( 'message', 'Please enter valid Client ID and Client Secret.');
|
1232 |
+
$this->mo_openid_show_error_message();
|
1233 |
+
return;
|
1234 |
+
} else{
|
1235 |
+
$scope = stripslashes(sanitize_text_field( $_POST['mo_oauth_scope'] ));
|
1236 |
+
$clientid = stripslashes(sanitize_text_field( $_POST['mo_oauth_client_id'] ));
|
1237 |
+
$clientsecret = stripslashes(sanitize_text_field( $_POST['mo_oauth_client_secret'] ));
|
1238 |
+
$appname = stripslashes(sanitize_text_field( $_POST['mo_oauth_app_name'] ));
|
1239 |
+
|
1240 |
+
if(get_option('mo_openid_apps_list'))
|
1241 |
+
$appslist = get_option('mo_openid_apps_list');
|
1242 |
+
else
|
1243 |
+
$appslist = array();
|
1244 |
+
|
1245 |
+
$newapp = array();
|
1246 |
+
|
1247 |
+
foreach($appslist as $key => $currentapp){
|
1248 |
+
if($appname == $key){
|
1249 |
+
$newapp = $currentapp;
|
1250 |
+
break;
|
1251 |
+
}
|
1252 |
+
}
|
1253 |
|
1254 |
+
$newapp['clientid'] = $clientid;
|
1255 |
+
$newapp['clientsecret'] = $clientsecret;
|
1256 |
+
$newapp['scope'] = $scope;
|
1257 |
+
$newapp['redirecturi'] = site_url().'/openidcallback';
|
1258 |
+
if($appname=="facebook"){
|
1259 |
+
$authorizeurl = 'https://www.facebook.com/dialog/oauth';
|
1260 |
+
$accesstokenurl = 'https://graph.facebook.com/v2.8/oauth/access_token';
|
1261 |
+
$resourceownerdetailsurl = 'https://graph.facebook.com/me/?fields=id,name,email,age_range,first_name,gender,last_name,link&access_token=';
|
1262 |
+
} else if($appname=="google"){
|
1263 |
+
$authorizeurl = "https://accounts.google.com/o/oauth2/auth";
|
1264 |
+
$accesstokenurl = "https://www.googleapis.com/oauth2/v3/token";
|
1265 |
+
//private static final String VERIFY_TOKEN_ENDPOINT = "https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=";
|
1266 |
+
//private static final String GET_USER_INFO_ENDPOINT = "https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=";
|
1267 |
+
$resourceownerdetailsurl = "https://www.googleapis.com/plus/v1/people/me";
|
1268 |
+
} else if($appname=="twitter"){
|
1269 |
+
$authorizeurl = "https://api.twitter.com/oauth/authorize";
|
1270 |
+
$accesstokenurl = "https://api.twitter.com/oauth/access_token";
|
1271 |
+
$resourceownerdetailsurl = "https://dev.twitter.com/docs/api/1.1/get/account/verify_credentials?include_email=true";
|
1272 |
+
}else {
|
1273 |
+
$authorizeurl = stripslashes(sanitize_text_field($_POST['mo_oauth_authorizeurl']));
|
1274 |
+
$accesstokenurl = stripslashes(sanitize_text_field($_POST['mo_oauth_accesstokenurl']));
|
1275 |
+
$resourceownerdetailsurl = stripslashes(sanitize_text_field($_POST['mo_oauth_resourceownerdetailsurl']));
|
1276 |
+
$appname = stripslashes(sanitize_text_field( $_POST['mo_oauth_custom_app_name'] ));
|
1277 |
+
}
|
1278 |
|
1279 |
+
$newapp['authorizeurl'] = $authorizeurl;
|
1280 |
+
$newapp['accesstokenurl'] = $accesstokenurl;
|
1281 |
+
$newapp['resourceownerdetailsurl'] = $resourceownerdetailsurl;
|
1282 |
+
$appslist[$appname] = $newapp;
|
1283 |
+
update_option('mo_openid_apps_list', $appslist);
|
1284 |
+
wp_redirect('admin.php?page=mo_openid_settings&tab=custom_app');
|
1285 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1286 |
}
|
1287 |
+
else if( isset( $_POST['option'] ) and $_POST['option'] == "mo_openid_custom_app_attribute_mapping" ) {
|
1288 |
+
$appname = stripslashes(sanitize_text_field( $_POST['mo_oauth_app_name'] ));
|
1289 |
+
$email_attr = stripslashes(sanitize_text_field( $_POST['mo_oauth_email_attr'] ));
|
1290 |
+
$name_attr = stripslashes(sanitize_text_field( $_POST['mo_oauth_name_attr'] ));
|
1291 |
+
|
1292 |
+
$appslist = get_option('mo_openid_apps_list');
|
1293 |
+
foreach($appslist as $key => $currentapp){
|
1294 |
+
if($appname == $key){
|
1295 |
+
$currentapp['email_attr'] = $email_attr;
|
1296 |
+
$currentapp['name_attr'] = $name_attr;
|
1297 |
+
$appslist[$key] = $currentapp;
|
1298 |
+
break;
|
1299 |
+
}
|
1300 |
+
}
|
1301 |
+
update_option('mo_openid_apps_list', $appslist);
|
1302 |
+
update_option( 'message', 'Your settings are saved successfully.' );
|
1303 |
+
$this->mo_openid_show_success_message();
|
1304 |
+
wp_redirect('admin.php?page=mo_openid_settings&tab=custom_app&action=update&app='.urlencode($appname));
|
1305 |
+
}
|
1306 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1307 |
|
1308 |
|
1309 |
if(isset($_POST['mo_openid_option']) and $_POST['mo_openid_option']=='mo_openid_skip_feedback'){
|
1339 |
if ( json_last_error() == JSON_ERROR_NONE ) {
|
1340 |
if ( is_array( $submited ) && array_key_exists( 'status', $submited ) && $submited['status'] == 'ERROR' )
|
1341 |
{
|
1342 |
+
if( isset($submited['message']))
|
1343 |
+
{
|
1344 |
+
update_option('mo_openid_message',$submited['message']);
|
1345 |
+
$this->mo_openid_show_error_message();
|
1346 |
+
}
|
1347 |
|
1348 |
|
1349 |
} else
|
1368 |
}
|
1369 |
}
|
1370 |
|
1371 |
+
}
|
|
|
1372 |
function create_customer(){
|
1373 |
delete_option('mo_openid_sms_otp_count');
|
1374 |
delete_option('mo_openid_email_otp_count');
|
1411 |
update_option('mo_openid_verify_customer', 'true');
|
1412 |
delete_option('mo_openid_new_registration');
|
1413 |
$this->mo_openid_show_error_message();
|
1414 |
+
if(get_option('regi_pop_up') =="yes"){
|
1415 |
+
update_option("pop_login_msg",get_option("mo_openid_message"));
|
1416 |
+
mo_pop_show_verify_password_page();
|
1417 |
+
|
1418 |
+
}
|
1419 |
}
|
1420 |
|
1421 |
}
|
1569 |
return false;
|
1570 |
}
|
1571 |
}
|
|
|
1572 |
new Miniorange_OpenID_SSO;
|
1573 |
?>
|
miniorange_openid_sso_settings_page.php
CHANGED
@@ -1,4 +1,7 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
2 |
function mo_register_openid() {
|
3 |
|
4 |
|
@@ -21,24 +24,22 @@ function mo_register_openid() {
|
|
21 |
<table>
|
22 |
<tr><td>
|
23 |
|
24 |
-
<img style="margin-top: 25px" src="<?php echo plugin_dir_url(__FILE__);?>includes/images/logo.png">
|
25 |
</td> <td> <a style="text-decoration:none" href="https://www.miniorange.com/social-login-social-sharing/" target="_blank"><h1 style="color: #c9302c">miniOrange Social Login</h1></a></td>
|
26 |
-
|
27 |
-
<td
|
28 |
-
</td> <td
|
29 |
-
</td>
|
30 |
-
</td> </tr> </table>
|
31 |
-
|
32 |
</div>
|
33 |
<div id="tab">
|
34 |
<h2 class="nav-tab-wrapper">
|
35 |
-
<a class="nav-tab <?php echo $active_tab == 'login' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'login'), $_SERVER['REQUEST_URI'] ); ?>">Social Login</a>
|
36 |
-
<a class="nav-tab <?php echo $active_tab == 'custom_app' ? 'nav-tab-active' : ''; ?>" href="admin.php?page=mo_openid_settings&tab=custom_app">Custom App</a>
|
37 |
-
<a class="nav-tab <?php echo $active_tab == 'email_notif' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'email_notif'), $_SERVER['REQUEST_URI'] ); ?>">Email Notification</a>
|
38 |
-
<a class="nav-tab <?php echo $active_tab == 'integrations' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'integrations'), $_SERVER['REQUEST_URI'] ); ?>">Advanced Settings</a>
|
39 |
-
<a class="nav-tab <?php echo $active_tab == 'share' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'share'), $_SERVER['REQUEST_URI'] ); ?>">Social Sharing</a>
|
40 |
-
<a class="nav-tab <?php echo $active_tab == 'comment' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'comment'), $_SERVER['REQUEST_URI'] ); ?>">Social Comments</a>
|
41 |
-
<a class="nav-tab <?php echo $active_tab == 'shortcode' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'shortcode'), $_SERVER['REQUEST_URI'] ); ?>">Shortcode</a>
|
42 |
<?php if(!mo_openid_is_customer_registered()) { ?>
|
43 |
<a class="nav-tab <?php echo $active_tab == 'register' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'register'), $_SERVER['REQUEST_URI'] ); ?>">Account Setup</a>
|
44 |
<?php } ?>
|
@@ -46,15 +47,124 @@ function mo_register_openid() {
|
|
46 |
</div>
|
47 |
|
48 |
<script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
function popup_delete_app(selected_app){
|
50 |
|
51 |
if (confirm("Are you sure you want to delete the app.")) {
|
52 |
location.href='admin.php?page=mo_openid_settings&tab=custom_app&action=delete&app=' + selected_app ;
|
|
|
53 |
}
|
54 |
}
|
55 |
</script>
|
56 |
|
57 |
-
|
58 |
<div id="mo_openid_settings">
|
59 |
|
60 |
<div class="mo_container">
|
@@ -62,7 +172,7 @@ function mo_register_openid() {
|
|
62 |
<table style="width:100%;">
|
63 |
<tr>
|
64 |
<!--td style="vertical-align:top;width:65%;"-->
|
65 |
-
|
66 |
if( $active_tab == 'share' ) {
|
67 |
mo_openid_other_settings();
|
68 |
} else if ( $active_tab == 'register') {
|
@@ -98,35 +208,35 @@ function mo_register_openid() {
|
|
98 |
}
|
99 |
else if($active_tab == 'custom_app') {
|
100 |
?>
|
101 |
-
|
102 |
-
|
103 |
</td>
|
104 |
|
105 |
<td style="vertical-align:top;padding-left:1%;">
|
106 |
-
|
107 |
</td></tr></table></div></div>
|
108 |
-
|
109 |
}
|
110 |
|
111 |
|
112 |
|
113 |
?>
|
114 |
-
|
115 |
<td style="vertical-align:top;padding-left:1%;">
|
116 |
-
|
117 |
echo miniorange_openid_support(); ?>
|
118 |
</td-->
|
119 |
</table>
|
120 |
-
|
121 |
-
|
122 |
}
|
123 |
|
124 |
function mo_openid_show_new_registration_page() {
|
|
|
125 |
update_option ( 'mo_openid_new_registration', 'true' );
|
126 |
global $current_user;
|
127 |
$current_user = wp_get_current_user();
|
128 |
?>
|
129 |
-
|
130 |
<!--Register with miniOrange-->
|
131 |
<form name="f" method="post" action="" id="register-form">
|
132 |
<input type="hidden" name="option" value="mo_openid_connect_register_customer" />
|
@@ -186,14 +296,15 @@ function mo_openid_show_new_registration_page() {
|
|
186 |
</script>
|
187 |
</td>
|
188 |
<td style="vertical-align:top;padding-left:1%;">
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
}
|
193 |
|
194 |
function mo_openid_show_verify_password_page() {
|
195 |
-
|
196 |
-
|
|
|
197 |
<!--Verify password with miniOrange-->
|
198 |
<form name="f" method="post" action="">
|
199 |
<input type="hidden" name="option" value="mo_openid_connect_verify_customer" />
|
@@ -262,23 +373,22 @@ function mo_openid_apps_config() {
|
|
262 |
<tr>
|
263 |
<td colspan="2">
|
264 |
<h3>Social Login
|
265 |
-
|
266 |
</h3>
|
267 |
-
|
268 |
<b>Select applications to enable login for your users. Customize your login icons using a range of shapes, themes and sizes. You can choose different places to display these icons and also customize redirect URL after login.</b>
|
269 |
</td>
|
270 |
-
|
271 |
</tr>
|
272 |
</table>
|
273 |
-
|
274 |
<table>
|
275 |
-
|
276 |
<p>Select applications to enable social login</p>
|
277 |
-
|
278 |
-
<tr>
|
279 |
<td>
|
280 |
<table style="width:100%">
|
281 |
-
<tr>
|
282 |
<td>
|
283 |
<div class="tooltip">
|
284 |
|
@@ -327,13 +437,12 @@ function mo_openid_apps_config() {
|
|
327 |
</tr>
|
328 |
</table>
|
329 |
</td>
|
330 |
-
</tr>
|
331 |
-
|
332 |
<tr>
|
333 |
<td>
|
334 |
<br>
|
335 |
<hr>
|
336 |
-
<h3>Customize Login Icons</h3>
|
337 |
<p>Customize shape, theme and size of social login icons</p>
|
338 |
</td>
|
339 |
</tr>
|
@@ -345,30 +454,30 @@ function mo_openid_apps_config() {
|
|
345 |
<b style="margin-left:70px;">Size of Icons</b>
|
346 |
</td>
|
347 |
</tr>
|
348 |
-
<tr>
|
349 |
-
|
350 |
<td class="mo_openid_table_td_checkbox">
|
351 |
<input type="radio" name="mo_openid_login_theme" value="circle" onclick="checkLoginButton();moLoginPreview(document.getElementById('mo_login_icon_size').value ,'circle',setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)"
|
352 |
<?php checked( get_option('mo_openid_login_theme') == 'circle' );?> />Round
|
353 |
-
|
354 |
<span style="margin-left:106px;">
|
355 |
<input type="radio" id="mo_openid_login_default_radio" name="mo_openid_login_custom_theme" value="default" onclick="checkLoginButton();moLoginPreview(setSizeOfIcons(), setLoginTheme(),'default',document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)"
|
356 |
<?php checked( get_option('mo_openid_login_custom_theme') == 'default' );?>/>Default
|
357 |
-
|
358 |
</span>
|
359 |
-
|
360 |
<span style="margin-left:111px;">
|
361 |
<input style="width:50px" onkeyup="moLoginSpaceValidate(this)" id="mo_login_icon_space" name="mo_login_icon_space" type="text" value="<?php echo get_option('mo_login_icon_space')?>" />
|
362 |
<input id="mo_login_space_plus" type="button" value="+" onmouseup="moLoginPreview(setSizeOfIcons() ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
363 |
<input id="mo_login_space_minus" type="button" value="-" onmouseup="moLoginPreview(setSizeOfIcons() ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
364 |
</span>
|
365 |
-
|
366 |
-
|
367 |
<span id="commontheme" style="margin-left:115px">
|
368 |
<input style="width:50px" id="mo_login_icon_size" onkeyup="moLoginSizeValidate(this)" name="mo_login_icon_custom_size" type="text" value="<?php echo get_option('mo_login_icon_custom_size')?>" >
|
369 |
<input id="mo_login_size_plus" type="button" value="+" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_size').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
370 |
<input id="mo_login_size_minus" type="button" value="-" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_size').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
371 |
-
|
372 |
</span>
|
373 |
<span style="margin-left:91px" class="longbuttontheme">Width:
|
374 |
<input style="width:50px" id="mo_login_icon_width" onkeyup="moLoginWidthValidate(this)" name="mo_login_icon_custom_width" type="text" value="<?php echo get_option('mo_login_icon_custom_width')?>" >
|
@@ -376,27 +485,27 @@ function mo_openid_apps_config() {
|
|
376 |
|
377 |
<input id="mo_login_width_plus" type="button" value="+" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
378 |
<input id="mo_login_width_minus" type="button" value="-" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
379 |
-
|
380 |
</span>
|
381 |
</span>
|
382 |
-
|
383 |
-
|
384 |
-
</td>
|
385 |
</tr>
|
386 |
-
|
387 |
<tr>
|
388 |
<td class="mo_openid_table_td_checkbox">
|
389 |
<input type="radio" name="mo_openid_login_theme" value="oval" onclick="checkLoginButton();moLoginPreview(document.getElementById('mo_login_icon_size').value,'oval',setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_size').value,document.getElementById('mo_login_icon_custom_boundary').value )"
|
390 |
-
<?php checked( get_option('mo_openid_login_theme') == 'oval' );?> />Rounded Edges
|
391 |
|
392 |
<span style="margin-left:50px;">
|
393 |
<input type="radio" id="mo_openid_login_custom_radio" name="mo_openid_login_custom_theme" value="custom" onclick="checkLoginButton();moLoginPreview(setSizeOfIcons(), setLoginTheme(),'custom',document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)"
|
394 |
<?php checked( get_option('mo_openid_login_custom_theme') == 'custom' );?> />Custom Background*
|
395 |
-
|
396 |
-
</span>
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
<span style="margin-left:235px" class="longbuttontheme" >Height:
|
401 |
<input style="width:50px" id="mo_login_icon_height" onkeyup="moLoginHeightValidate(this)" name="mo_login_icon_custom_height" type="text" value="<?php echo get_option('mo_login_icon_custom_height')?>" >
|
402 |
<span style="margin-left:1px;">
|
@@ -407,17 +516,17 @@ function mo_openid_apps_config() {
|
|
407 |
</span>
|
408 |
</td>
|
409 |
</tr>
|
410 |
-
|
411 |
<tr>
|
412 |
<td class="mo_openid_table_td_checkbox">
|
413 |
<input type="radio" name="mo_openid_login_theme" value="square" onclick="checkLoginButton();moLoginPreview(document.getElementById('mo_login_icon_size').value ,'square',setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_size').value,document.getElementById('mo_login_icon_custom_boundary').value )"
|
414 |
<?php checked( get_option('mo_openid_login_theme') == 'square' );?> />Square
|
415 |
-
|
416 |
<span style="margin-left:113px;">
|
417 |
<input id="mo_login_icon_custom_color" style="width:135px;" name="mo_login_icon_custom_color" class="color" value="<?php echo get_option('mo_login_icon_custom_color')?>" onchange="moLoginPreview(setSizeOfIcons(), setLoginTheme(),'custom',document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
418 |
</span>
|
419 |
-
|
420 |
-
|
421 |
<span style="margin-left:228px" class="longbuttontheme">Curve:
|
422 |
<input style="width:50px" id="mo_login_icon_custom_boundary" onkeyup="moLoginBoundaryValidate(this)" name="mo_login_icon_custom_boundary" type="text" value=
|
423 |
"<?php echo get_option('mo_login_icon_custom_boundary')?>" />
|
@@ -425,7 +534,7 @@ function mo_openid_apps_config() {
|
|
425 |
|
426 |
<input id="mo_login_boundary_plus" type="button" value="+" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
427 |
<input id="mo_login_boundary_minus" type="button" value="-" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
428 |
-
</span>
|
429 |
</span>
|
430 |
</td>
|
431 |
</tr>
|
@@ -447,7 +556,7 @@ function mo_openid_apps_config() {
|
|
447 |
<img class="mo_login_icon_preview" id="mo_login_icon_preview_salesforce" src="<?php echo plugins_url( 'includes/images/icons/salesforce.png', __FILE__ )?>" />
|
448 |
<img class="mo_login_icon_preview" id="mo_login_icon_preview_windowslive" src="<?php echo plugins_url( 'includes/images/icons/windowslive.png', __FILE__ )?>" />
|
449 |
</div>
|
450 |
-
|
451 |
<div>
|
452 |
<a id="mo_login_button_preview_facebook" class="btn btn-block btn-defaulttheme btn-social btn-facebook btn-custom-size"> <i class="fa fa-facebook"></i><?php
|
453 |
echo get_option('mo_openid_login_button_customize_text'); ?> Facebook</a>
|
@@ -468,7 +577,7 @@ function mo_openid_apps_config() {
|
|
468 |
<a id="mo_login_button_preview_windowslive" class="btn btn-block btn-defaulttheme btn-social btn-microsoft btn-custom-size"> <i class="fa fa-windows"></i><?php
|
469 |
echo get_option('mo_openid_login_button_customize_text'); ?> Windows</a>
|
470 |
</div>
|
471 |
-
|
472 |
<div>
|
473 |
<i class="mo_custom_login_icon_preview fa fa-facebook" id="mo_custom_login_icon_preview_facebook" style="color:#ffffff;text-align:center;margin-top:5px;"></i>
|
474 |
<i class="mo_custom_login_icon_preview fa fa-google-plus" id="mo_custom_login_icon_preview_google" style="color:#ffffff;text-align:center;margin-top:5px;"></i>
|
@@ -480,7 +589,7 @@ function mo_openid_apps_config() {
|
|
480 |
<i class="mo_custom_login_icon_preview fa fa-cloud" id="salesforcecustom" style="margin-bottom:-10px;color:#ffffff;text-align:center;margin-top:5px;" ></i>
|
481 |
<i class="mo_custom_login_icon_preview fa fa-windows" id="mo_custom_login_icon_preview_windows" style="color:#ffffff;text-align:center;margin-top:5px;" ></i>
|
482 |
</div>
|
483 |
-
|
484 |
<div>
|
485 |
<a id="mo_custom_login_button_preview_facebook" class="btn btn-block btn-customtheme btn-social btn-custom-size"> <i class="fa fa-facebook"></i><?php
|
486 |
echo get_option('mo_openid_login_button_customize_text'); ?> Facebook</a>
|
@@ -507,7 +616,7 @@ function mo_openid_apps_config() {
|
|
507 |
<td><br>
|
508 |
<strong>*NOTE:</strong><br/>Custom background: This will change the background color of login icons.
|
509 |
</td>
|
510 |
-
</tr>
|
511 |
<tr>
|
512 |
<tr>
|
513 |
<td>
|
@@ -516,8 +625,8 @@ function mo_openid_apps_config() {
|
|
516 |
<h3>Customize Text For Social Login Buttons / Icons</h3>
|
517 |
</td>
|
518 |
</tr>
|
519 |
-
|
520 |
-
|
521 |
<tr>
|
522 |
<td>
|
523 |
<b>Select color for customize text:</b>
|
@@ -526,10 +635,10 @@ function mo_openid_apps_config() {
|
|
526 |
</span>
|
527 |
</td>
|
528 |
</tr>
|
529 |
-
|
530 |
<tr>
|
531 |
<td><b>Enter text to show above login widget:</b>
|
532 |
-
|
533 |
<input class="mo_openid_table_textbox" style="margin-left:12px;width:50%" type="text" name="mo_openid_login_widget_customize_text" value="<?php echo get_option('mo_openid_login_widget_customize_text'); ?>" /></td>
|
534 |
</tr>
|
535 |
<tr>
|
@@ -554,16 +663,16 @@ function mo_openid_apps_config() {
|
|
554 |
</tr>
|
555 |
<tr>
|
556 |
<td><b>Enter text to show as logout link:</b>
|
557 |
-
<input class="mo_openid_table_textbox" style="width:50%" type="text" name="mo_openid_login_widget_customize_logout_text"
|
558 |
value="<?php echo get_option('mo_openid_login_widget_customize_logout_text'); ?>" /></td>
|
559 |
</tr>
|
560 |
<?php }?>
|
561 |
-
|
562 |
-
<br>
|
563 |
<hr>
|
|
|
564 |
<h3>Display Options</h3>
|
565 |
<b>Select the options where you want to display the social login icons</b>
|
566 |
-
</td>
|
567 |
|
568 |
<tr>
|
569 |
<td class="mo_openid_table_td_checkbox">
|
@@ -579,11 +688,39 @@ function mo_openid_apps_config() {
|
|
579 |
<td class="mo_openid_table_td_checkbox">
|
580 |
<input type="checkbox" id="default_comment_enable" name="mo_openid_default_comment_enable" value="1"
|
581 |
<?php checked( get_option('mo_openid_default_comment_enable') == 1 );?> />Comment Form</td>
|
582 |
-
|
583 |
-
|
|
|
|
|
584 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
585 |
|
|
|
|
|
586 |
|
|
|
587 |
<tr><td>
|
588 |
<br>
|
589 |
<?php echo"NOTE: BuddyPress and Woocomerce display options are available in <a href=" . site_url() ."/wp-admin/admin.php?page=mo_openid_settings&tab=integrations>Advanced Settings</a>.";?>
|
@@ -591,7 +728,7 @@ function mo_openid_apps_config() {
|
|
591 |
</td>
|
592 |
</tr>
|
593 |
|
594 |
-
<tr>
|
595 |
<td>
|
596 |
<h3>Redirection Options</h3>
|
597 |
<b>Redirect URL after login:</b>
|
@@ -627,7 +764,7 @@ function mo_openid_apps_config() {
|
|
627 |
<td>
|
628 |
<input type="radio" id="login_redirect_relativeurl" name="mo_openid_login_redirect" value="relative" <?php checked( get_option('mo_openid_login_redirect') == 'relative' );?> />Relative URL
|
629 |
<?php echo site_url();?>
|
630 |
-
<input type="text" id="login_redirect_url" style="width:50%" name="mo_openid_relative_login_redirect_url" value="<?php echo get_option('mo_openid_relative_login_redirect_url')?>"
|
631 |
</td>
|
632 |
</tr>
|
633 |
|
@@ -666,6 +803,7 @@ function mo_openid_apps_config() {
|
|
666 |
<input type="text" id="logout_redirect_url" style="width:50%" name="mo_openid_logout_redirect_url" value="<?php echo get_option('mo_openid_logout_redirect_url')?>" />
|
667 |
</td>
|
668 |
</tr>
|
|
|
669 |
<tr>
|
670 |
<td>
|
671 |
<br>
|
@@ -885,16 +1023,7 @@ function customize_email_verify_img(){
|
|
885 |
custom_email_verify_img=1;
|
886 |
}
|
887 |
}
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
</script>
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
<script>
|
899 |
var tempHorSize = '<?php echo get_option('mo_login_icon_custom_size') ?>';
|
900 |
var tempHorTheme = '<?php echo get_option('mo_openid_login_theme') ?>';
|
@@ -906,61 +1035,61 @@ function customize_email_verify_img(){
|
|
906 |
function moLoginIncrement(e,t,r,a,i){
|
907 |
var h,s,c=!1,_=a;s=function(){
|
908 |
"add"==t&&r.value<60?r.value++:"subtract"==t&&r.value>20&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
909 |
-
|
910 |
function moLoginSpaceIncrement(e,t,r,a,i){
|
911 |
var h,s,c=!1,_=a;s=function(){
|
912 |
"add"==t&&r.value<60?r.value++:"subtract"==t&&r.value>0&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
913 |
-
|
914 |
function moLoginWidthIncrement(e,t,r,a,i){
|
915 |
var h,s,c=!1,_=a;s=function(){
|
916 |
"add"==t&&r.value<1000?r.value++:"subtract"==t&&r.value>140&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
917 |
-
|
918 |
function moLoginHeightIncrement(e,t,r,a,i){
|
919 |
var h,s,c=!1,_=a;s=function(){
|
920 |
"add"==t&&r.value<50?r.value++:"subtract"==t&&r.value>35&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
921 |
-
|
922 |
function moLoginBoundaryIncrement(e,t,r,a,i){
|
923 |
var h,s,c=!1,_=a;s=function(){
|
924 |
"add"==t&&r.value<25?r.value++:"subtract"==t&&r.value>0&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
925 |
-
|
926 |
-
|
927 |
moLoginIncrement(document.getElementById('mo_login_size_plus'), "add", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
928 |
moLoginIncrement(document.getElementById('mo_login_size_minus'), "subtract", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
929 |
-
|
930 |
moLoginIncrement(document.getElementById('mo_login_size_plus'), "add", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
931 |
moLoginIncrement(document.getElementById('mo_login_size_minus'), "subtract", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
932 |
-
|
933 |
moLoginSpaceIncrement(document.getElementById('mo_login_space_plus'), "add", document.getElementById('mo_login_icon_space'), 300, 0.7);
|
934 |
moLoginSpaceIncrement(document.getElementById('mo_login_space_minus'), "subtract", document.getElementById('mo_login_icon_space'), 300, 0.7);
|
935 |
-
|
936 |
moLoginWidthIncrement(document.getElementById('mo_login_width_plus'), "add", document.getElementById('mo_login_icon_width'), 300, 0.7);
|
937 |
moLoginWidthIncrement(document.getElementById('mo_login_width_minus'), "subtract", document.getElementById('mo_login_icon_width'), 300, 0.7);
|
938 |
-
|
939 |
moLoginHeightIncrement(document.getElementById('mo_login_height_plus'), "add", document.getElementById('mo_login_icon_height'), 300, 0.7);
|
940 |
moLoginHeightIncrement(document.getElementById('mo_login_height_minus'), "subtract", document.getElementById('mo_login_icon_height'), 300, 0.7);
|
941 |
-
|
942 |
moLoginBoundaryIncrement(document.getElementById('mo_login_boundary_plus'), "add", document.getElementById('mo_login_icon_custom_boundary'), 300, 0.7);
|
943 |
moLoginBoundaryIncrement(document.getElementById('mo_login_boundary_minus'), "subtract", document.getElementById('mo_login_icon_custom_boundary'), 300, 0.7);
|
944 |
-
|
945 |
function setLoginTheme(){return jQuery('input[name=mo_openid_login_theme]:checked', '#form-apps').val();}
|
946 |
function setLoginCustomTheme(){return jQuery('input[name=mo_openid_login_custom_theme]:checked', '#form-apps').val();}
|
947 |
function setSizeOfIcons(){
|
948 |
-
|
949 |
if((jQuery('input[name=mo_openid_login_theme]:checked', '#form-apps').val()) == 'longbutton'){
|
950 |
return document.getElementById('mo_login_icon_width').value;
|
951 |
}else{
|
952 |
return document.getElementById('mo_login_icon_size').value;
|
953 |
}
|
954 |
}
|
955 |
-
moLoginPreview(setSizeOfIcons(),tempHorTheme,tempHorCustomTheme,tempHorCustomColor,tempHorSpace,tempHorHeight,tempHorBoundary);
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
function moLoginPreview(t,r,l,p,n,h,k){
|
960 |
-
|
961 |
if(l == 'default'){
|
962 |
if(r == 'longbutton'){
|
963 |
-
|
964 |
var a = "btn-defaulttheme";
|
965 |
jQuery("."+a).css("width",t+"px");
|
966 |
jQuery("."+a).css("padding-top",(h-29)+"px");
|
@@ -971,7 +1100,7 @@ function customize_email_verify_img(){
|
|
971 |
}else{
|
972 |
var a="mo_login_icon_preview";
|
973 |
jQuery("."+a).css("margin-left",(n-4)+"px");
|
974 |
-
|
975 |
if(r=="circle"){
|
976 |
jQuery("."+a).css({height:t,width:t});
|
977 |
jQuery("."+a).css("borderRadius","999px");
|
@@ -986,7 +1115,7 @@ function customize_email_verify_img(){
|
|
986 |
}
|
987 |
else if(l == 'custom'){
|
988 |
if(r == 'longbutton'){
|
989 |
-
|
990 |
var a = "btn-customtheme";
|
991 |
jQuery("."+a).css("width",(t)+"px");
|
992 |
jQuery("."+a).css("padding-top",(h-29)+"px");
|
@@ -1000,7 +1129,7 @@ function customize_email_verify_img(){
|
|
1000 |
jQuery("."+a).css({height:t-8,width:t});
|
1001 |
jQuery("."+a).css("padding-top","8px");
|
1002 |
jQuery("."+a).css("margin-left",(n-4)+"px");
|
1003 |
-
|
1004 |
if(r=="circle"){
|
1005 |
jQuery("."+a).css("borderRadius","999px");
|
1006 |
}else if(r=="oval"){
|
@@ -1012,12 +1141,12 @@ function customize_email_verify_img(){
|
|
1012 |
jQuery("."+a).css("font-size",(t-16)+"px");
|
1013 |
}
|
1014 |
}
|
1015 |
-
|
1016 |
-
|
1017 |
previewLoginIcons();
|
1018 |
-
|
1019 |
}
|
1020 |
-
|
1021 |
function checkLoginButton(){
|
1022 |
if(document.getElementById('iconwithtext').checked) {
|
1023 |
if(setLoginCustomTheme() == 'default'){
|
@@ -1034,7 +1163,7 @@ function customize_email_verify_img(){
|
|
1034 |
jQuery("#commontheme").hide();
|
1035 |
jQuery(".longbuttontheme").show();
|
1036 |
}else {
|
1037 |
-
|
1038 |
if(setLoginCustomTheme() == 'default'){
|
1039 |
jQuery(".mo_login_icon_preview").show();
|
1040 |
jQuery(".btn-defaulttheme").hide();
|
@@ -1050,8 +1179,8 @@ function customize_email_verify_img(){
|
|
1050 |
jQuery(".longbuttontheme").hide();
|
1051 |
}
|
1052 |
previewLoginIcons();
|
1053 |
-
}
|
1054 |
-
|
1055 |
function previewLoginIcons() {
|
1056 |
var flag = 0;
|
1057 |
if (document.getElementById('google_enable').checked) {
|
@@ -1069,9 +1198,9 @@ function customize_email_verify_img(){
|
|
1069 |
jQuery("#mo_custom_login_icon_preview_google").hide();
|
1070 |
jQuery("#mo_login_button_preview_google").hide();
|
1071 |
jQuery("#mo_custom_login_button_preview_google").hide();
|
1072 |
-
|
1073 |
}
|
1074 |
-
|
1075 |
if (document.getElementById('facebook_enable').checked) {
|
1076 |
flag = 1;
|
1077 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
@@ -1105,16 +1234,16 @@ function customize_email_verify_img(){
|
|
1105 |
jQuery("#mo_login_button_preview_vkontakte").hide();
|
1106 |
jQuery("#mo_custom_login_button_preview_vkontakte").hide();
|
1107 |
}
|
1108 |
-
|
1109 |
if (document.getElementById('linkedin_enable').checked) {
|
1110 |
flag = 1;
|
1111 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1112 |
jQuery("#mo_login_icon_preview_linkedin").show();
|
1113 |
if(document.getElementById('mo_openid_login_custom_radio').checked && !document.getElementById('iconwithtext').checked)
|
1114 |
jQuery("#mo_custom_login_icon_preview_linkedin").show();
|
1115 |
-
if(document.getElementById('mo_openid_login_default_radio').checked && document.getElementById('iconwithtext').checked)
|
1116 |
jQuery("#mo_login_button_preview_linkedin").show();
|
1117 |
-
if(document.getElementById('mo_openid_login_custom_radio').checked && document.getElementById('iconwithtext').checked)
|
1118 |
jQuery("#mo_custom_login_button_preview_linkedin").show();
|
1119 |
} else if(!document.getElementById('linkedin_enable').checked){
|
1120 |
jQuery("#mo_login_icon_preview_linkedin").hide();
|
@@ -1122,7 +1251,7 @@ function customize_email_verify_img(){
|
|
1122 |
jQuery("#mo_login_button_preview_linkedin").hide();
|
1123 |
jQuery("#mo_custom_login_button_preview_linkedin").hide();
|
1124 |
}
|
1125 |
-
|
1126 |
if (document.getElementById('instagram_enable').checked) {
|
1127 |
flag = 1;
|
1128 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
@@ -1139,7 +1268,7 @@ function customize_email_verify_img(){
|
|
1139 |
jQuery("#mo_login_button_preview_instagram").hide();
|
1140 |
jQuery("#mo_custom_login_button_preview_instagram").hide();
|
1141 |
}
|
1142 |
-
|
1143 |
if (document.getElementById('amazon_enable').checked) {
|
1144 |
flag = 1;
|
1145 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checkedd)
|
@@ -1158,7 +1287,7 @@ function customize_email_verify_img(){
|
|
1158 |
jQuery("#mo_login_button_preview_amazon").hide();
|
1159 |
jQuery("#mo_custom_login_button_preview_amazon").hide();
|
1160 |
}
|
1161 |
-
|
1162 |
if (document.getElementById('salesforce_enable').checked) {
|
1163 |
flag = 1;
|
1164 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
@@ -1175,7 +1304,7 @@ function customize_email_verify_img(){
|
|
1175 |
jQuery("#mo_login_button_preview_salesforce").hide();
|
1176 |
jQuery("#mo_custom_login_button_preview_salesforce").hide();
|
1177 |
}
|
1178 |
-
|
1179 |
if (document.getElementById('windowslive_enable').checked) {
|
1180 |
flag = 1;
|
1181 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
@@ -1192,15 +1321,15 @@ function customize_email_verify_img(){
|
|
1192 |
jQuery("#mo_login_button_preview_windowslive").hide();
|
1193 |
jQuery("#mo_custom_login_button_preview_windows").hide();
|
1194 |
}
|
1195 |
-
|
1196 |
-
|
1197 |
if (document.getElementById('twitter_enable').checked) {
|
1198 |
if(flag) {
|
1199 |
jQuery("#no_apps_text").hide();
|
1200 |
} else {
|
1201 |
jQuery("#no_apps_text").show();
|
1202 |
}
|
1203 |
-
|
1204 |
flag = 1;
|
1205 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1206 |
jQuery("#mo_login_icon_preview_twitter").show();
|
@@ -1219,6 +1348,70 @@ function customize_email_verify_img(){
|
|
1219 |
}
|
1220 |
checkLoginButton();
|
1221 |
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1222 |
<tr>
|
1223 |
<td>
|
1224 |
<hr>
|
@@ -1273,7 +1466,7 @@ function customize_email_verify_img(){
|
|
1273 |
|
1274 |
<h3><table>
|
1275 |
<tr><td><img src="<?php echo plugin_dir_url(__FILE__);?>includes/images/lock1.png"></td>
|
1276 |
-
<td> Get Standard or Premium plugin to unlock following features</h3> <br> <a style="margin-top: 25px;margin-left: 140px" class="button button-primary button-large" href="https://
|
1277 |
</tr>
|
1278 |
</table>
|
1279 |
</div>
|
@@ -1313,45 +1506,21 @@ function customize_email_verify_img(){
|
|
1313 |
<b>Enter Privacy Policy URL: </b><br>
|
1314 |
<input type="text" style="width:90%" disabled="disabled" />
|
1315 |
</td>
|
1316 |
-
</tr>
|
|
|
1317 |
</table>
|
1318 |
-
<table class="mo_openid_display_table">
|
1319 |
-
|
1320 |
-
<tr>
|
1321 |
-
<td colspan="2">
|
1322 |
-
<hr>
|
1323 |
-
<p>
|
1324 |
-
<h3>Add Login Icons</h3>
|
1325 |
-
You can add login icons in the following areas from <strong>Display Options</strong>. For other areas(widget areas), use Login Widget.
|
1326 |
-
<ol>
|
1327 |
-
<li>Default Login Form: This option places login icons below the default login form on wp-login.</li>
|
1328 |
-
<li>Default Registration Form: This option places login icons below the default registration form.</li>
|
1329 |
-
<li>Comment Form: This option places login icons above the comment section of all your posts.</li>
|
1330 |
-
</ol>
|
1331 |
-
|
1332 |
-
<h3>Add Login Icons as Widget</h3>
|
1333 |
|
1334 |
-
<ol>
|
1335 |
-
<li>Go to Appearance->Widgets. Among the available widgets you
|
1336 |
-
will find miniOrange Social Login Widget, drag it to the widget area where
|
1337 |
-
you want it to appear.</li>
|
1338 |
-
<li>Now logout and go to your site. You will see app icon for which you enabled login.</li>
|
1339 |
-
<li>Click that app icon and login with your existing app account to wordpress.</li>
|
1340 |
-
</ol>
|
1341 |
-
</p>
|
1342 |
-
</td>
|
1343 |
-
</tr>
|
1344 |
-
</table>
|
1345 |
</div>
|
1346 |
</form>
|
|
|
1347 |
<script>
|
1348 |
jQuery(function() {
|
1349 |
jQuery('#tab2').removeClass('disabledTab');
|
1350 |
});
|
1351 |
</script>
|
1352 |
</td>
|
1353 |
-
<td style="vertical-align:top;padding-left:1%;">
|
1354 |
-
|
1355 |
</td>
|
1356 |
<?php
|
1357 |
}
|
@@ -1637,9 +1806,6 @@ function mo_openid_email_notification(){
|
|
1637 |
<td><br /><input disabled type="submit" name="submit" value="Save" style="width:100px;" <?php if(!mo_openid_is_customer_registered()) echo 'disabled'?> class="button button-primary button-large" />
|
1638 |
</td>
|
1639 |
</tr>
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
</table>
|
1644 |
|
1645 |
<br><b>*NOTE: These features require SMTP to be setup.</b>
|
@@ -1670,18 +1836,17 @@ function mo_openid_app_comment() {
|
|
1670 |
<tr>
|
1671 |
<td colspan="2">
|
1672 |
<h3>Social Comments
|
1673 |
-
|
1674 |
-
class="button button-primary button-large" />
|
1675 |
</h3>
|
1676 |
<b>Select applications to add Social Comments. These commenting applications will be added to your blog post pages at the location of your comments.</b>
|
1677 |
</td>
|
1678 |
</tr>
|
1679 |
-
</table
|
1680 |
-
|
|
|
1681 |
<tr>
|
1682 |
<td colspan="2">
|
1683 |
-
|
1684 |
-
<hr>
|
1685 |
<h3>Select Applications</h3>
|
1686 |
If none of the below are selected, default WordPress comments will only be visible. Only selecting Default WordPress Comments will not result in any changes.
|
1687 |
</td>
|
@@ -1699,12 +1864,12 @@ function mo_openid_app_comment() {
|
|
1699 |
<td><input type="checkbox" id="mo_openid_social_comment_google" name="mo_openid_social_comment_google" value="1" <?php checked( get_option('mo_openid_social_comment_google') == 1 );?> /><b>Google+ Comments</b>
|
1700 |
</td>
|
1701 |
<tr>
|
1702 |
-
</table>
|
1703 |
-
|
|
|
1704 |
<tr>
|
1705 |
<td colspan="2">
|
1706 |
-
|
1707 |
-
<hr>
|
1708 |
<h3>Display Options</h3>
|
1709 |
Select the options where you want to add social comments.
|
1710 |
</td>
|
@@ -1718,12 +1883,12 @@ function mo_openid_app_comment() {
|
|
1718 |
<td><input type="checkbox" id="mo_openid_social_comment_static" name="mo_openid_social_comment_static" value="1" <?php checked( get_option('mo_openid_social_comment_static') == 1 );?> /><b>Static Pages</b>
|
1719 |
</td>
|
1720 |
<tr>
|
1721 |
-
</table>
|
1722 |
-
|
1723 |
-
|
|
|
1724 |
<td colspan="2">
|
1725 |
-
|
1726 |
-
<hr>
|
1727 |
<h3>Customize Text For Social Comment Labels</h3>
|
1728 |
</td>
|
1729 |
</tr>
|
@@ -1742,7 +1907,7 @@ function mo_openid_app_comment() {
|
|
1742 |
<tr>
|
1743 |
<td><b>Comments - Google Label:</b></td>
|
1744 |
<td><input class="mo_openid_table_textbox" type="text" name="mo_openid_social_comment_google_label" value="<?php echo get_option('mo_openid_social_comment_google_label'); ?>" /></td>
|
1745 |
-
</tr>
|
1746 |
|
1747 |
<tr>
|
1748 |
<td><br /><input type="submit" name="submit" value="Save" style="width:100px;" class="button button-primary button-large" />
|
@@ -1768,8 +1933,63 @@ function mo_openid_app_comment() {
|
|
1768 |
</form>
|
1769 |
</td>
|
1770 |
<td style="vertical-align:top;padding-left:1%;">
|
1771 |
-
|
1772 |
</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1773 |
<?php
|
1774 |
}
|
1775 |
|
@@ -1830,7 +2050,7 @@ function mo_openid_show_otp_verification(){
|
|
1830 |
</tr>
|
1831 |
</table>
|
1832 |
<br><input type="submit" value="Send OTP" class="button button-primary button-large" />
|
1833 |
-
|
1834 |
</form>
|
1835 |
<br>
|
1836 |
<h3>What is an OTP ?</h3>
|
@@ -1838,9 +2058,8 @@ function mo_openid_show_otp_verification(){
|
|
1838 |
</div>
|
1839 |
<script>
|
1840 |
jQuery("#phone").intlTelInput();
|
1841 |
-
|
1842 |
-
|
1843 |
</script>
|
|
|
1844 |
</td>
|
1845 |
<td style="vertical-align:top;padding-left:1%;">
|
1846 |
<?php echo miniorange_openid_support(); ?>
|
@@ -1860,9 +2079,7 @@ function mo_openid_other_settings(){
|
|
1860 |
<table>
|
1861 |
<tr>
|
1862 |
<td colspan="2">
|
1863 |
-
|
1864 |
-
<input type="submit" name="submit" value="Save" style="width:100px;float:right;margin-right:2%"
|
1865 |
-
class="button button-primary button-large" />
|
1866 |
</h3>
|
1867 |
<b>Select applications to add share icons. Customize sharing icons by using a range of shapes, themes and sizes to suit to your website. You can also choose different places to display these icons. Additionally, place vertical floating icons on your pages.</b>
|
1868 |
</td>
|
@@ -1871,11 +2088,11 @@ function mo_openid_other_settings(){
|
|
1871 |
</table>
|
1872 |
|
1873 |
<table class="mo_openid_settings_table">
|
1874 |
-
|
1875 |
<p>Select applications to enable social sharing</p>
|
1876 |
<tr>
|
1877 |
<td class="mo_openid_table_td_checkbox">
|
1878 |
-
|
1879 |
<tr>
|
1880 |
<td style="width:20%">
|
1881 |
<input type="checkbox" id="facebook_share_enable" class="app_enable" name="mo_openid_facebook_share_enable" value="1"
|
@@ -1966,15 +2183,17 @@ function mo_openid_other_settings(){
|
|
1966 |
<strong>Whatsapp</strong>
|
1967 |
</td>
|
1968 |
</tr>
|
1969 |
-
|
1970 |
</td>
|
1971 |
</tr>
|
1972 |
-
|
|
|
|
|
1973 |
|
1974 |
|
1975 |
|
1976 |
|
1977 |
-
<tr>
|
1978 |
<td>
|
1979 |
<br>
|
1980 |
<hr>
|
@@ -2131,7 +2350,7 @@ function mo_openid_other_settings(){
|
|
2131 |
</div>
|
2132 |
|
2133 |
</td>
|
2134 |
-
</tr>
|
2135 |
|
2136 |
<script>
|
2137 |
var tempHorSize = '<?php echo get_option('mo_sharing_icon_custom_size') ?>';
|
@@ -2475,6 +2694,63 @@ function mo_openid_other_settings(){
|
|
2475 |
addSelectedApps();
|
2476 |
});
|
2477 |
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2478 |
<tr>
|
2479 |
<td>
|
2480 |
<br/>
|
@@ -2527,7 +2803,7 @@ function mo_openid_other_settings(){
|
|
2527 |
value="<?php echo get_option('mo_openid_share_email_body'); ?>" />
|
2528 |
</td>
|
2529 |
</tr>
|
2530 |
-
<tr>
|
2531 |
<td>
|
2532 |
<br>
|
2533 |
<hr>
|
@@ -2551,6 +2827,7 @@ function mo_openid_other_settings(){
|
|
2551 |
Both before and after content
|
2552 |
</td>
|
2553 |
</tr>
|
|
|
2554 |
<tr>
|
2555 |
<td>
|
2556 |
<input type="checkbox" id="mo_apps_posts" name="mo_share_options_post" value="1" <?php checked( get_option('mo_share_options_enable_post') == '1' );?>>
|
@@ -2637,7 +2914,7 @@ function mo_openid_other_settings(){
|
|
2637 |
<input type="radio" id="mo_apps_posts_options" name="mo_share_options_bb_reply_position" value="both" <?php checked( get_option('mo_share_options_bb_reply_position') == 'both' );?>>
|
2638 |
Both before and after content
|
2639 |
</td>
|
2640 |
-
</tr>
|
2641 |
<tr>
|
2642 |
<td>
|
2643 |
<br/>
|
@@ -2705,7 +2982,7 @@ jQuery(function() {
|
|
2705 |
</script>
|
2706 |
</td>
|
2707 |
<td style="vertical-align:top;padding-left:1%;">
|
2708 |
-
|
2709 |
</td>
|
2710 |
<?php
|
2711 |
}
|
@@ -2831,6 +3108,9 @@ function mo_openid_shortcode_info(){
|
|
2831 |
}
|
2832 |
|
2833 |
function mo_openid_pricing_info(){
|
|
|
|
|
|
|
2834 |
?>
|
2835 |
<td style="vertical-align:top;width:100%;">
|
2836 |
<div class="mo_openid_table_layout">
|
@@ -3585,11 +3865,15 @@ function mo_openid_custom_app_config(){?>
|
|
3585 |
|
3586 |
}elseif (get_option('mo_openid_apps_list')==null){
|
3587 |
echo "<div style='text-align: center'><p>You have not configured any custom apps yet. Please click on <b>Add Application</b> to configure your own app.</p>";
|
3588 |
-
echo "<br><input type='button'
|
3589 |
-
echo "<br><br><br><br><br
|
|
|
3590 |
|
|
|
3591 |
}?>
|
3592 |
</div>
|
|
|
|
|
3593 |
</td>
|
3594 |
<script>
|
3595 |
//ajax call for custom app over default app
|
@@ -3609,6 +3893,7 @@ function mo_openid_custom_app_config(){?>
|
|
3609 |
});
|
3610 |
}
|
3611 |
</script>
|
|
|
3612 |
<?php
|
3613 |
}
|
3614 |
|
@@ -3620,11 +3905,14 @@ function add_custom_app(){
|
|
3620 |
var appname = document.getElementById("mo_oauth_app").value;
|
3621 |
document.getElementById("instructions").innerHTML = "";
|
3622 |
if(appname=="google"){
|
|
|
3623 |
document.getElementById("instructions").innerHTML = '<br><strong>Instructions to configure Google :</strong><ol><li>Visit the Google website for developers <a href="https://console.developers.google.com/project"target="_blank">console.developers.google.com</a>.</li><li>Open the Google API Console Credentials page and go to API Manager -> Credentials</li><li>From the project drop-down, click on + to Create a new project, enter a name for the project, and optionally, edit the provided Project ID. Click Create.</li><li>On the Credentials menu, select Create credentials, then select OAuth client ID.</li><li>You may be prompted to set a product name on the Consent screen. If so, click Configure consent screen, supply the requested information, and click Save to return to the Credentials screen.</li><li>Select Web Application for the Application Type. Enter <b><?php if(get_option('mo_openid_malform_error')){ echo site_url()."/openidcallback/google";} else {echo site_url()."/openidcallback";}?></b> in Authorized redirect URIs.</li><li>Click Create.</li><li>On the page that appears, copy the client ID and client secret to your clipboard, as you will need them to configure above.</li><li>Enable the Google+ API.<ul><li>In the Dashboard menu, click on ENABLE APIS AND SERVICES.</li><li>Type Google+ in search box, select Google+ API and click on Enable.</li></ul></li><li>Input scope as <b>https://www.googleapis.com/auth/userinfo.profile+ https://www.googleapis.com/auth/user.birthday.read+ https://www.googleapis.com/auth/plus.login+ https://www.googleapis.com/auth/plus.profile.emails.read+ https://www.googleapis.com/auth/userinfo.email+ https://www.googleapis.com/auth/plus.me </b></li><li>Go to Social Login tab to configure the display as well as other login settings.</li></ol>';
|
3624 |
} else if(appname=="facebook"){
|
|
|
3625 |
document.getElementById("instructions").innerHTML = '<br><strong>Instructions to configure Facebook : </strong><ol><li>Go to Facebook developers console <a href="https://developers.facebook.com/apps/" target="_blank">https://developers.facebook.com/apps/</a>. Login with your facebook developer account</li><li>Click on Create a New App/Add new App button</li><li>Enter <b>Display Name</b> and click on Create App ID</li><li>In Add Product select Facebook Login and click on Setup</li><li>Click on Web. Enter your Site URL. From the left pane, select <b>Facebook Login -> Settings</b>.</li><li>Under <b>Client OAuth Settings</b>, enter <b><?php if(get_option('mo_openid_malform_error')){echo site_url()."/openidcallback/facebook";} else{echo site_url()."/openidcallback";}?></b> in Valid OAuth redirect URIs and click <b>Save Changes</b>.</li><li>Go to <b>Settings -> Basic</b>. Enter <b><?php $str=str_replace('https://','',site_url()); echo $str; ?></b> in <b>App Domain</b>, <b><?php echo site_url(); ?></b> in <b>Website URL </b>, your privacy policy URL in <b>Privacy Policy URL</b> and select <b>Category</b> of your website .</li><li>Go to <b>App Review </b>make your app public. After making app public you will see on right top corner your app status changes from <b>In Development</b> to <b>Live</b>.</li><li>Go to Settings > Basic. Paste your App ID and App Secret provided by Facebook into the fields above.</li><li>Input <b> email, public_profile </b>as scope.</li><li> If you want to access the <b>user_birthday, user_hometown, user_location</b> of a Facebook user, you need to send your app for review to Facebook. For submitting an app for review, click <a target="_blank" href="https://developers.facebook.com/docs/facebook-login/review/how-to-submit ">here</a>. After your app is reviewed, you can add the scopes you have sent for review in the scope above. If your app is not approved or is in the process of getting approved, let the scope be <b>email, public_profile, user_friends</b> </li><li>Click on the Save settings button.</li><li>Go to Social Login tab to configure the display as well as other login settings.</li></ol>';
|
3626 |
} else if(appname=="twitter"){
|
3627 |
-
document.getElementById("
|
|
|
3628 |
}
|
3629 |
|
3630 |
}
|
@@ -3656,9 +3944,9 @@ function add_custom_app(){
|
|
3656 |
<td><input class="mo_table_textbox" required="" style="height: 27px; width:500px" type="text" name="mo_oauth_client_secret" value=""></td>
|
3657 |
</tr>
|
3658 |
<tr>
|
3659 |
-
|
3660 |
-
|
3661 |
-
|
3662 |
<tr>
|
3663 |
<td> </td>
|
3664 |
<td><input type="submit" name="submit" value="Save settings" class="button button-primary button-large" />
|
@@ -3792,6 +4080,7 @@ function miniorange_openid_support(){
|
|
3792 |
<div class="mo_openid_support_layout">
|
3793 |
|
3794 |
<h3>Support</h3>
|
|
|
3795 |
<p>Need any help? Couldn't find an answer in <a href="<?php echo add_query_arg( array('tab' => 'help'), $_SERVER['REQUEST_URI'] ); ?>">FAQ</a>?<br>Just send us a query so we can help you.</p>
|
3796 |
<form method="post" action="">
|
3797 |
<input type="hidden" name="option" value="mo_openid_contact_us_query_option" />
|
@@ -3807,10 +4096,12 @@ function miniorange_openid_support(){
|
|
3807 |
</tr>
|
3808 |
</table>
|
3809 |
<br>
|
3810 |
-
<input type="submit" name="submit" value="Submit Query" style="width:110px;" class="button button-primary button-large" />
|
|
|
3811 |
|
|
|
3812 |
</form>
|
3813 |
-
<p>If you want custom features in the plugin, just drop an email at <a href="mailto:info@miniorange.com">info@miniorange.com</a>.</p>
|
3814 |
</div>
|
3815 |
</div>
|
3816 |
</div>
|
@@ -3840,7 +4131,10 @@ function miniorange_openid_support(){
|
|
3840 |
function moLoginHeightValidate(e){
|
3841 |
var t=parseInt(e.value.trim());t>50?e.value=50:35>t&&(e.value=35)
|
3842 |
}
|
3843 |
-
|
|
|
|
|
|
|
3844 |
</script>
|
3845 |
<?php
|
3846 |
}
|
@@ -3880,6 +4174,7 @@ function mo_openid_is_curl_installed() {
|
|
3880 |
} else
|
3881 |
return 0;
|
3882 |
}
|
|
|
3883 |
function mo_openid_restrict_user() {
|
3884 |
if((get_option('mo_openid_admin_customer_key')>151617) || (get_option('mo_openid_new_user')==1)|| !mo_openid_is_customer_registered()) {
|
3885 |
return true;
|
@@ -3888,4 +4183,243 @@ function mo_openid_restrict_user() {
|
|
3888 |
}
|
3889 |
}
|
3890 |
|
3891 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
ob_start();
|
3 |
+
|
4 |
+
|
5 |
function mo_register_openid() {
|
6 |
|
7 |
|
24 |
<table>
|
25 |
<tr><td>
|
26 |
|
27 |
+
<img id="logo" style="margin-top: 25px" src="<?php echo plugin_dir_url(__FILE__);?>includes/images/logo.png">
|
28 |
</td> <td> <a style="text-decoration:none" href="https://www.miniorange.com/social-login-social-sharing/" target="_blank"><h1 style="color: #c9302c">miniOrange Social Login</h1></a></td>
|
29 |
+
<td> <a id="pricing" style="margin-top: 23px" class="button"<?php echo $active_tab == 'pricing' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'pricing'), $_SERVER['REQUEST_URI'] ); ?>">Licensing Plans</a>
|
30 |
+
</td> <td> <a id="privacy" style="margin-top: 23px" class="button" <?php echo $active_tab == 'help' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'privacy_policy'), $_SERVER['REQUEST_URI'] ); ?>">Privacy Policy</a>
|
31 |
+
</td> <td> <a id="faq" style="margin-top: 23px" class="button" <?php echo $active_tab == 'help' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'help'), $_SERVER['REQUEST_URI'] ); ?>">FAQ</a>
|
32 |
+
</td></tr> </table>
|
|
|
|
|
33 |
</div>
|
34 |
<div id="tab">
|
35 |
<h2 class="nav-tab-wrapper">
|
36 |
+
<a id="social_login" class="nav-tab <?php echo $active_tab == 'login' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'login'), $_SERVER['REQUEST_URI'] ); ?>">Social Login</a>
|
37 |
+
<a id="custom_app" class="nav-tab <?php echo $active_tab == 'custom_app' ? 'nav-tab-active' : ''; ?>" href="admin.php?page=mo_openid_settings&tab=custom_app">Custom App</a>
|
38 |
+
<a id="email_notif" class="nav-tab <?php echo $active_tab == 'email_notif' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'email_notif'), $_SERVER['REQUEST_URI'] ); ?>">Email Notification</a>
|
39 |
+
<a id="integration" class="nav-tab <?php echo $active_tab == 'integrations' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'integrations'), $_SERVER['REQUEST_URI'] ); ?>">Advanced Settings</a>
|
40 |
+
<a id="sharing" class="nav-tab <?php echo $active_tab == 'share' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'share'), $_SERVER['REQUEST_URI'] ); ?>">Social Sharing</a>
|
41 |
+
<a id="commenting" class="nav-tab <?php echo $active_tab == 'comment' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'comment'), $_SERVER['REQUEST_URI'] ); ?>">Social Comments</a>
|
42 |
+
<a id="shortcode" class="nav-tab <?php echo $active_tab == 'shortcode' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'shortcode'), $_SERVER['REQUEST_URI'] ); ?>">Shortcode</a>
|
43 |
<?php if(!mo_openid_is_customer_registered()) { ?>
|
44 |
<a class="nav-tab <?php echo $active_tab == 'register' ? 'nav-tab-active' : ''; ?>" href="<?php echo add_query_arg( array('tab' => 'register'), $_SERVER['REQUEST_URI'] ); ?>">Account Setup</a>
|
45 |
<?php } ?>
|
47 |
</div>
|
48 |
|
49 |
<script>
|
50 |
+
var base_url = '<?php echo site_url();?>';
|
51 |
+
|
52 |
+
var tour1 = new Tour({
|
53 |
+
name: "tour1",
|
54 |
+
steps: [
|
55 |
+
{
|
56 |
+
element: "#social_login",
|
57 |
+
title: "Social Login",
|
58 |
+
content: "Enable one click login to your website using various Social Login applications.",
|
59 |
+
backdrop:'body',
|
60 |
+
backdropPadding:'6',
|
61 |
+
onNext: function() {
|
62 |
+
window.location = base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=custom_app'
|
63 |
+
}
|
64 |
+
},{
|
65 |
+
element: "#custom_app",
|
66 |
+
title: "Custom App",
|
67 |
+
content: "Configure your own custom apps for social login applications.",
|
68 |
+
backdrop:'body',
|
69 |
+
backdropPadding:'6',
|
70 |
+
onNext: function() {
|
71 |
+
window.location = base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=share'
|
72 |
+
}
|
73 |
+
|
74 |
+
},{
|
75 |
+
element: "#sharing",
|
76 |
+
title: "Social Sharing",
|
77 |
+
content: "Increase your popularity by letting users share your posts and pages on their preferred Social platform.",
|
78 |
+
backdrop:'body',
|
79 |
+
backdropPadding:'6',
|
80 |
+
onNext: function() {
|
81 |
+
window.location = base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=comment'
|
82 |
+
}
|
83 |
+
|
84 |
+
}, {
|
85 |
+
element: "#commenting",
|
86 |
+
title: "Social Commenting",
|
87 |
+
content: "Allow users to comment without login on your website using Facebook and Google comment boxes.",
|
88 |
+
backdrop:'body',
|
89 |
+
backdropPadding:'6',
|
90 |
+
onNext: function() {
|
91 |
+
window.location = base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=shortcode'
|
92 |
+
}
|
93 |
+
},
|
94 |
+
{
|
95 |
+
element: "#shortcode",
|
96 |
+
title: "Shortcodes",
|
97 |
+
content: "Add login, sharing and comments anywhere on your website using Shortcodes.",
|
98 |
+
backdrop:'body',
|
99 |
+
backdropPadding:'6',
|
100 |
+
onNext: function() {
|
101 |
+
window.location = base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=integrations'
|
102 |
+
}
|
103 |
+
}
|
104 |
+
,
|
105 |
+
{
|
106 |
+
element: "#integration",
|
107 |
+
title: "Premium Features",
|
108 |
+
content: "Use our BuddyPress and WooCommerce integrations for map user information. Add users to MailChimp lists as they login.",
|
109 |
+
backdrop:'body',
|
110 |
+
backdropPadding:'6',
|
111 |
+
onNext: function() {
|
112 |
+
window.location = base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=pricing'
|
113 |
+
}
|
114 |
+
},
|
115 |
+
{
|
116 |
+
element: "#pricing",
|
117 |
+
title: "Licensing Plans",
|
118 |
+
content: "Check out more features to choose the best plan for you.",
|
119 |
+
backdrop:'body',
|
120 |
+
backdropPadding:'6',
|
121 |
+
|
122 |
+
}
|
123 |
+
],
|
124 |
+
template: function () {
|
125 |
+
return (
|
126 |
+
tour1.getCurrentStep()===6 // Is this the last step?
|
127 |
+
? "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:10%;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\"><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:left;margin-top:30%;margin-left:30%;\">"+ (tour1.getCurrentStep()+1)+"/7</h4></div></div> <button class=\"button button-primary button-large\" data-role=\"end\" onclick=\"end_tour1();\">Done</button> </div> </div>"
|
128 |
+
: "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:0px;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\" style=\"width: 100%;\"> <button class=\"mo2f_tour_btn mo2f_tour_btn-sm mo2f_tour_btn-secondary mo2f_tour_btn_next-success\" style=\"width: 32%;height: 0%;\" data-role=\"next\">Next »</button><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:right;margin-left: 53%;\">"+ (tour1.getCurrentStep()+1)+"/7</h4></div></div></div></div>"
|
129 |
+
);
|
130 |
+
}
|
131 |
+
});
|
132 |
+
|
133 |
+
var temp = "<?php echo get_option('mo_openid_tour'); ?>";
|
134 |
+
if(temp=="0") { // Initialize the tour
|
135 |
+
tour1.init();
|
136 |
+
// Start the tour
|
137 |
+
tour1.start();
|
138 |
+
}
|
139 |
+
|
140 |
+
function end_tour() {
|
141 |
+
tour.end();
|
142 |
+
tour1.end();
|
143 |
+
}
|
144 |
+
function end_tour1() {
|
145 |
+
var aassd = "plugin_tour";
|
146 |
+
jQuery.ajax({
|
147 |
+
url:base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=pricing', //the page containing php script
|
148 |
+
method: "POST", //request type,
|
149 |
+
data: {update_tour_status: aassd},
|
150 |
+
dataType: 'text',
|
151 |
+
success:function(result){
|
152 |
+
|
153 |
+
}
|
154 |
+
});
|
155 |
+
window.location = base_url+'/wp-admin/admin.php?page=mo_openid_settings&tab=pricing'
|
156 |
+
|
157 |
+
}
|
158 |
+
|
159 |
function popup_delete_app(selected_app){
|
160 |
|
161 |
if (confirm("Are you sure you want to delete the app.")) {
|
162 |
location.href='admin.php?page=mo_openid_settings&tab=custom_app&action=delete&app=' + selected_app ;
|
163 |
+
|
164 |
}
|
165 |
}
|
166 |
</script>
|
167 |
|
|
|
168 |
<div id="mo_openid_settings">
|
169 |
|
170 |
<div class="mo_container">
|
172 |
<table style="width:100%;">
|
173 |
<tr>
|
174 |
<!--td style="vertical-align:top;width:65%;"-->
|
175 |
+
<?php
|
176 |
if( $active_tab == 'share' ) {
|
177 |
mo_openid_other_settings();
|
178 |
} else if ( $active_tab == 'register') {
|
208 |
}
|
209 |
else if($active_tab == 'custom_app') {
|
210 |
?>
|
211 |
+
<td style="vertical-align:top;width:65%;">
|
212 |
+
<?php mo_openid_custom_app_config();?>
|
213 |
</td>
|
214 |
|
215 |
<td style="vertical-align:top;padding-left:1%;">
|
216 |
+
<?php echo miniorange_openid_support(); ?>
|
217 |
</td></tr></table></div></div>
|
218 |
+
<?php
|
219 |
}
|
220 |
|
221 |
|
222 |
|
223 |
?>
|
224 |
+
<!--/td>
|
225 |
<td style="vertical-align:top;padding-left:1%;">
|
226 |
+
<?php if($active_tab!='custom_app')
|
227 |
echo miniorange_openid_support(); ?>
|
228 |
</td-->
|
229 |
</table>
|
230 |
+
<?php
|
|
|
231 |
}
|
232 |
|
233 |
function mo_openid_show_new_registration_page() {
|
234 |
+
update_option('regi_pop_up','no');
|
235 |
update_option ( 'mo_openid_new_registration', 'true' );
|
236 |
global $current_user;
|
237 |
$current_user = wp_get_current_user();
|
238 |
?>
|
239 |
+
<td style="vertical-align:top;width:65%;">
|
240 |
<!--Register with miniOrange-->
|
241 |
<form name="f" method="post" action="" id="register-form">
|
242 |
<input type="hidden" name="option" value="mo_openid_connect_register_customer" />
|
296 |
</script>
|
297 |
</td>
|
298 |
<td style="vertical-align:top;padding-left:1%;">
|
299 |
+
<?php echo miniorange_openid_support(); ?>
|
300 |
+
</td>
|
301 |
+
<?php
|
302 |
}
|
303 |
|
304 |
function mo_openid_show_verify_password_page() {
|
305 |
+
update_option('regi_pop_up','no');
|
306 |
+
?>
|
307 |
+
<td style="vertical-align:top;width:65%;">
|
308 |
<!--Verify password with miniOrange-->
|
309 |
<form name="f" method="post" action="">
|
310 |
<input type="hidden" name="option" value="mo_openid_connect_verify_customer" />
|
373 |
<tr>
|
374 |
<td colspan="2">
|
375 |
<h3>Social Login
|
376 |
+
<input type="submit" name="submit" id="save_opt" value="Save" style="float:right; margin-right:2%; margin-top: -3px;width:100px;" class="button button-primary button-large" onclick="end_tour();" /> <button type="button" id="mo_openid_restart_tour" class="button button-primary button-large" style="float:right; margin-right:2%; margin-top: -3px;width:20%" onclick="restart_tour();"><i class="fa fa-refresh"></i> Social Login Tour</button>
|
377 |
</h3>
|
|
|
378 |
<b>Select applications to enable login for your users. Customize your login icons using a range of shapes, themes and sizes. You can choose different places to display these icons and also customize redirect URL after login.</b>
|
379 |
</td>
|
380 |
+
|
381 |
</tr>
|
382 |
</table>
|
383 |
+
|
384 |
<table>
|
385 |
+
<tr id="select_app"><td><table style="width: 100%"> <h3>Select Apps</h3>
|
386 |
<p>Select applications to enable social login</p>
|
387 |
+
|
388 |
+
<tr >
|
389 |
<td>
|
390 |
<table style="width:100%">
|
391 |
+
<tr >
|
392 |
<td>
|
393 |
<div class="tooltip">
|
394 |
|
437 |
</tr>
|
438 |
</table>
|
439 |
</td>
|
440 |
+
</tr></table></td></tr>
|
|
|
441 |
<tr>
|
442 |
<td>
|
443 |
<br>
|
444 |
<hr>
|
445 |
+
<tr id="custom_icon"><td><table style="width:100%"> <h3>Customize Login Icons</h3>
|
446 |
<p>Customize shape, theme and size of social login icons</p>
|
447 |
</td>
|
448 |
</tr>
|
454 |
<b style="margin-left:70px;">Size of Icons</b>
|
455 |
</td>
|
456 |
</tr>
|
457 |
+
<tr >
|
458 |
+
|
459 |
<td class="mo_openid_table_td_checkbox">
|
460 |
<input type="radio" name="mo_openid_login_theme" value="circle" onclick="checkLoginButton();moLoginPreview(document.getElementById('mo_login_icon_size').value ,'circle',setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)"
|
461 |
<?php checked( get_option('mo_openid_login_theme') == 'circle' );?> />Round
|
462 |
+
|
463 |
<span style="margin-left:106px;">
|
464 |
<input type="radio" id="mo_openid_login_default_radio" name="mo_openid_login_custom_theme" value="default" onclick="checkLoginButton();moLoginPreview(setSizeOfIcons(), setLoginTheme(),'default',document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)"
|
465 |
<?php checked( get_option('mo_openid_login_custom_theme') == 'default' );?>/>Default
|
466 |
+
|
467 |
</span>
|
468 |
+
|
469 |
<span style="margin-left:111px;">
|
470 |
<input style="width:50px" onkeyup="moLoginSpaceValidate(this)" id="mo_login_icon_space" name="mo_login_icon_space" type="text" value="<?php echo get_option('mo_login_icon_space')?>" />
|
471 |
<input id="mo_login_space_plus" type="button" value="+" onmouseup="moLoginPreview(setSizeOfIcons() ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
472 |
<input id="mo_login_space_minus" type="button" value="-" onmouseup="moLoginPreview(setSizeOfIcons() ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
473 |
</span>
|
474 |
+
|
475 |
+
|
476 |
<span id="commontheme" style="margin-left:115px">
|
477 |
<input style="width:50px" id="mo_login_icon_size" onkeyup="moLoginSizeValidate(this)" name="mo_login_icon_custom_size" type="text" value="<?php echo get_option('mo_login_icon_custom_size')?>" >
|
478 |
<input id="mo_login_size_plus" type="button" value="+" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_size').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
479 |
<input id="mo_login_size_minus" type="button" value="-" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_size').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
480 |
+
|
481 |
</span>
|
482 |
<span style="margin-left:91px" class="longbuttontheme">Width:
|
483 |
<input style="width:50px" id="mo_login_icon_width" onkeyup="moLoginWidthValidate(this)" name="mo_login_icon_custom_width" type="text" value="<?php echo get_option('mo_login_icon_custom_width')?>" >
|
485 |
|
486 |
<input id="mo_login_width_plus" type="button" value="+" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
487 |
<input id="mo_login_width_minus" type="button" value="-" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value ,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
488 |
+
|
489 |
</span>
|
490 |
</span>
|
491 |
+
|
492 |
+
|
493 |
+
</td>
|
494 |
</tr>
|
495 |
+
|
496 |
<tr>
|
497 |
<td class="mo_openid_table_td_checkbox">
|
498 |
<input type="radio" name="mo_openid_login_theme" value="oval" onclick="checkLoginButton();moLoginPreview(document.getElementById('mo_login_icon_size').value,'oval',setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_size').value,document.getElementById('mo_login_icon_custom_boundary').value )"
|
499 |
+
<?php checked( get_option('mo_openid_login_theme') == 'oval' );?> />Rounded Edges
|
500 |
|
501 |
<span style="margin-left:50px;">
|
502 |
<input type="radio" id="mo_openid_login_custom_radio" name="mo_openid_login_custom_theme" value="custom" onclick="checkLoginButton();moLoginPreview(setSizeOfIcons(), setLoginTheme(),'custom',document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)"
|
503 |
<?php checked( get_option('mo_openid_login_custom_theme') == 'custom' );?> />Custom Background*
|
504 |
+
|
505 |
+
</span>
|
506 |
+
|
507 |
+
|
508 |
+
|
509 |
<span style="margin-left:235px" class="longbuttontheme" >Height:
|
510 |
<input style="width:50px" id="mo_login_icon_height" onkeyup="moLoginHeightValidate(this)" name="mo_login_icon_custom_height" type="text" value="<?php echo get_option('mo_login_icon_custom_height')?>" >
|
511 |
<span style="margin-left:1px;">
|
516 |
</span>
|
517 |
</td>
|
518 |
</tr>
|
519 |
+
|
520 |
<tr>
|
521 |
<td class="mo_openid_table_td_checkbox">
|
522 |
<input type="radio" name="mo_openid_login_theme" value="square" onclick="checkLoginButton();moLoginPreview(document.getElementById('mo_login_icon_size').value ,'square',setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_size').value,document.getElementById('mo_login_icon_custom_boundary').value )"
|
523 |
<?php checked( get_option('mo_openid_login_theme') == 'square' );?> />Square
|
524 |
+
|
525 |
<span style="margin-left:113px;">
|
526 |
<input id="mo_login_icon_custom_color" style="width:135px;" name="mo_login_icon_custom_color" class="color" value="<?php echo get_option('mo_login_icon_custom_color')?>" onchange="moLoginPreview(setSizeOfIcons(), setLoginTheme(),'custom',document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_custom_boundary').value)" >
|
527 |
</span>
|
528 |
+
|
529 |
+
|
530 |
<span style="margin-left:228px" class="longbuttontheme">Curve:
|
531 |
<input style="width:50px" id="mo_login_icon_custom_boundary" onkeyup="moLoginBoundaryValidate(this)" name="mo_login_icon_custom_boundary" type="text" value=
|
532 |
"<?php echo get_option('mo_login_icon_custom_boundary')?>" />
|
534 |
|
535 |
<input id="mo_login_boundary_plus" type="button" value="+" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
536 |
<input id="mo_login_boundary_minus" type="button" value="-" onmouseup="moLoginPreview(document.getElementById('mo_login_icon_width').value,setLoginTheme(),setLoginCustomTheme(),document.getElementById('mo_login_icon_custom_color').value,document.getElementById('mo_login_icon_space').value,document.getElementById('mo_login_icon_height').value,document.getElementById('mo_login_icon_custom_boundary').value)" />
|
537 |
+
</span>
|
538 |
</span>
|
539 |
</td>
|
540 |
</tr>
|
556 |
<img class="mo_login_icon_preview" id="mo_login_icon_preview_salesforce" src="<?php echo plugins_url( 'includes/images/icons/salesforce.png', __FILE__ )?>" />
|
557 |
<img class="mo_login_icon_preview" id="mo_login_icon_preview_windowslive" src="<?php echo plugins_url( 'includes/images/icons/windowslive.png', __FILE__ )?>" />
|
558 |
</div>
|
559 |
+
|
560 |
<div>
|
561 |
<a id="mo_login_button_preview_facebook" class="btn btn-block btn-defaulttheme btn-social btn-facebook btn-custom-size"> <i class="fa fa-facebook"></i><?php
|
562 |
echo get_option('mo_openid_login_button_customize_text'); ?> Facebook</a>
|
577 |
<a id="mo_login_button_preview_windowslive" class="btn btn-block btn-defaulttheme btn-social btn-microsoft btn-custom-size"> <i class="fa fa-windows"></i><?php
|
578 |
echo get_option('mo_openid_login_button_customize_text'); ?> Windows</a>
|
579 |
</div>
|
580 |
+
|
581 |
<div>
|
582 |
<i class="mo_custom_login_icon_preview fa fa-facebook" id="mo_custom_login_icon_preview_facebook" style="color:#ffffff;text-align:center;margin-top:5px;"></i>
|
583 |
<i class="mo_custom_login_icon_preview fa fa-google-plus" id="mo_custom_login_icon_preview_google" style="color:#ffffff;text-align:center;margin-top:5px;"></i>
|
589 |
<i class="mo_custom_login_icon_preview fa fa-cloud" id="salesforcecustom" style="margin-bottom:-10px;color:#ffffff;text-align:center;margin-top:5px;" ></i>
|
590 |
<i class="mo_custom_login_icon_preview fa fa-windows" id="mo_custom_login_icon_preview_windows" style="color:#ffffff;text-align:center;margin-top:5px;" ></i>
|
591 |
</div>
|
592 |
+
|
593 |
<div>
|
594 |
<a id="mo_custom_login_button_preview_facebook" class="btn btn-block btn-customtheme btn-social btn-custom-size"> <i class="fa fa-facebook"></i><?php
|
595 |
echo get_option('mo_openid_login_button_customize_text'); ?> Facebook</a>
|
616 |
<td><br>
|
617 |
<strong>*NOTE:</strong><br/>Custom background: This will change the background color of login icons.
|
618 |
</td>
|
619 |
+
</tr></table></td></tr>
|
620 |
<tr>
|
621 |
<tr>
|
622 |
<td>
|
625 |
<h3>Customize Text For Social Login Buttons / Icons</h3>
|
626 |
</td>
|
627 |
</tr>
|
628 |
+
|
629 |
+
|
630 |
<tr>
|
631 |
<td>
|
632 |
<b>Select color for customize text:</b>
|
635 |
</span>
|
636 |
</td>
|
637 |
</tr>
|
638 |
+
|
639 |
<tr>
|
640 |
<td><b>Enter text to show above login widget:</b>
|
641 |
+
|
642 |
<input class="mo_openid_table_textbox" style="margin-left:12px;width:50%" type="text" name="mo_openid_login_widget_customize_text" value="<?php echo get_option('mo_openid_login_widget_customize_text'); ?>" /></td>
|
643 |
</tr>
|
644 |
<tr>
|
663 |
</tr>
|
664 |
<tr>
|
665 |
<td><b>Enter text to show as logout link:</b>
|
666 |
+
<input class="mo_openid_table_textbox" style="width:50%" type="text" name="mo_openid_login_widget_customize_logout_text"
|
667 |
value="<?php echo get_option('mo_openid_login_widget_customize_logout_text'); ?>" /></td>
|
668 |
</tr>
|
669 |
<?php }?>
|
670 |
+
<tr><td>
|
|
|
671 |
<hr>
|
672 |
+
<tr id="display_opt"><td><table style="width:100%">
|
673 |
<h3>Display Options</h3>
|
674 |
<b>Select the options where you want to display the social login icons</b>
|
675 |
+
</td></tr>
|
676 |
|
677 |
<tr>
|
678 |
<td class="mo_openid_table_td_checkbox">
|
688 |
<td class="mo_openid_table_td_checkbox">
|
689 |
<input type="checkbox" id="default_comment_enable" name="mo_openid_default_comment_enable" value="1"
|
690 |
<?php checked( get_option('mo_openid_default_comment_enable') == 1 );?> />Comment Form</td>
|
691 |
+
</tr>
|
692 |
+
<tr><td>
|
693 |
+
<h3><a id="openid_login_shortcode_title" aria-expanded="false" >Add Login Icons</a></h3>
|
694 |
+
<div hidden="" id="openid_login_shortcode" style="font-size:13px !important">
|
695 |
|
696 |
+
You can add login icons in the following areas from <strong>Display Options</strong>. For other areas(widget areas), use Login Widget.
|
697 |
+
<ol>
|
698 |
+
<li>Default Login Form: This option places login icons below the default login form on wp-login.</li>
|
699 |
+
<li>Default Registration Form: This option places login icons below the default registration form.</li>
|
700 |
+
<li>Comment Form: This option places login icons above the comment section of all your posts.</li>
|
701 |
+
</ol>
|
702 |
+
</div>
|
703 |
+
</td></tr>
|
704 |
+
<tr><td>
|
705 |
+
<h3><a id="openid_sharing_shortcode_title" >Add Login Icons as Widget</a></h3>
|
706 |
+
<div hidden="" id="openid_sharing_shortcode" style="font-size:13px !important">
|
707 |
+
<ol>
|
708 |
+
<li>Go to Appearance->Widgets. Among the available widgets you
|
709 |
+
will find miniOrange Social Login Widget, drag it to the widget area where
|
710 |
+
you want it to appear.</li>
|
711 |
+
<li>Now logout and go to your site. You will see app icon for which you enabled login.</li>
|
712 |
+
<li>Click that app icon and login with your existing app account to wordpress.</li>
|
713 |
+
</ol>
|
714 |
+
</div>
|
715 |
+
</td></tr>
|
716 |
+
<tr><td>
|
717 |
+
<h3><a id="openid_comments_shortcode_title" >Using Shortcode</a></h3>
|
718 |
+
<div hidden="" id="openid_comments_shortcode" style="font-size:13px !important">
|
719 |
|
720 |
+
<?php echo"* Detailed information about how to use shortcode is given in <a href=" . site_url() ."/wp-admin/admin.php?page=mo_openid_settings&tab=shortcode>Shortcode</a> tab";?>
|
721 |
+
</div>
|
722 |
|
723 |
+
</td></tr> </table></td></tr>
|
724 |
<tr><td>
|
725 |
<br>
|
726 |
<?php echo"NOTE: BuddyPress and Woocomerce display options are available in <a href=" . site_url() ."/wp-admin/admin.php?page=mo_openid_settings&tab=integrations>Advanced Settings</a>.";?>
|
728 |
</td>
|
729 |
</tr>
|
730 |
|
731 |
+
<tr id="redirect_opt"><td><table style="width: 100%"><tr>
|
732 |
<td>
|
733 |
<h3>Redirection Options</h3>
|
734 |
<b>Redirect URL after login:</b>
|
764 |
<td>
|
765 |
<input type="radio" id="login_redirect_relativeurl" name="mo_openid_login_redirect" value="relative" <?php checked( get_option('mo_openid_login_redirect') == 'relative' );?> />Relative URL
|
766 |
<?php echo site_url();?>
|
767 |
+
<input type="text" id="login_redirect_url" style="width:50%" name="mo_openid_relative_login_redirect_url" value="<?php echo get_option('mo_openid_relative_login_redirect_url')?>" />
|
768 |
</td>
|
769 |
</tr>
|
770 |
|
803 |
<input type="text" id="logout_redirect_url" style="width:50%" name="mo_openid_logout_redirect_url" value="<?php echo get_option('mo_openid_logout_redirect_url')?>" />
|
804 |
</td>
|
805 |
</tr>
|
806 |
+
</table></td></tr>
|
807 |
<tr>
|
808 |
<td>
|
809 |
<br>
|
1023 |
custom_email_verify_img=1;
|
1024 |
}
|
1025 |
}
|
|
|
|
|
|
|
|
|
1026 |
</script>
|
|
|
|
|
|
|
|
|
|
|
1027 |
<script>
|
1028 |
var tempHorSize = '<?php echo get_option('mo_login_icon_custom_size') ?>';
|
1029 |
var tempHorTheme = '<?php echo get_option('mo_openid_login_theme') ?>';
|
1035 |
function moLoginIncrement(e,t,r,a,i){
|
1036 |
var h,s,c=!1,_=a;s=function(){
|
1037 |
"add"==t&&r.value<60?r.value++:"subtract"==t&&r.value>20&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
1038 |
+
|
1039 |
function moLoginSpaceIncrement(e,t,r,a,i){
|
1040 |
var h,s,c=!1,_=a;s=function(){
|
1041 |
"add"==t&&r.value<60?r.value++:"subtract"==t&&r.value>0&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
1042 |
+
|
1043 |
function moLoginWidthIncrement(e,t,r,a,i){
|
1044 |
var h,s,c=!1,_=a;s=function(){
|
1045 |
"add"==t&&r.value<1000?r.value++:"subtract"==t&&r.value>140&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
1046 |
+
|
1047 |
function moLoginHeightIncrement(e,t,r,a,i){
|
1048 |
var h,s,c=!1,_=a;s=function(){
|
1049 |
"add"==t&&r.value<50?r.value++:"subtract"==t&&r.value>35&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
1050 |
+
|
1051 |
function moLoginBoundaryIncrement(e,t,r,a,i){
|
1052 |
var h,s,c=!1,_=a;s=function(){
|
1053 |
"add"==t&&r.value<25?r.value++:"subtract"==t&&r.value>0&&r.value--,h=setTimeout(s,_),_>20&&(_*=i),c||(document.onmouseup=function(){clearTimeout(h),document.onmouseup=null,c=!1,_=a},c=!0)},e.onmousedown=s}
|
1054 |
+
|
1055 |
+
|
1056 |
moLoginIncrement(document.getElementById('mo_login_size_plus'), "add", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
1057 |
moLoginIncrement(document.getElementById('mo_login_size_minus'), "subtract", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
1058 |
+
|
1059 |
moLoginIncrement(document.getElementById('mo_login_size_plus'), "add", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
1060 |
moLoginIncrement(document.getElementById('mo_login_size_minus'), "subtract", document.getElementById('mo_login_icon_size'), 300, 0.7);
|
1061 |
+
|
1062 |
moLoginSpaceIncrement(document.getElementById('mo_login_space_plus'), "add", document.getElementById('mo_login_icon_space'), 300, 0.7);
|
1063 |
moLoginSpaceIncrement(document.getElementById('mo_login_space_minus'), "subtract", document.getElementById('mo_login_icon_space'), 300, 0.7);
|
1064 |
+
|
1065 |
moLoginWidthIncrement(document.getElementById('mo_login_width_plus'), "add", document.getElementById('mo_login_icon_width'), 300, 0.7);
|
1066 |
moLoginWidthIncrement(document.getElementById('mo_login_width_minus'), "subtract", document.getElementById('mo_login_icon_width'), 300, 0.7);
|
1067 |
+
|
1068 |
moLoginHeightIncrement(document.getElementById('mo_login_height_plus'), "add", document.getElementById('mo_login_icon_height'), 300, 0.7);
|
1069 |
moLoginHeightIncrement(document.getElementById('mo_login_height_minus'), "subtract", document.getElementById('mo_login_icon_height'), 300, 0.7);
|
1070 |
+
|
1071 |
moLoginBoundaryIncrement(document.getElementById('mo_login_boundary_plus'), "add", document.getElementById('mo_login_icon_custom_boundary'), 300, 0.7);
|
1072 |
moLoginBoundaryIncrement(document.getElementById('mo_login_boundary_minus'), "subtract", document.getElementById('mo_login_icon_custom_boundary'), 300, 0.7);
|
1073 |
+
|
1074 |
function setLoginTheme(){return jQuery('input[name=mo_openid_login_theme]:checked', '#form-apps').val();}
|
1075 |
function setLoginCustomTheme(){return jQuery('input[name=mo_openid_login_custom_theme]:checked', '#form-apps').val();}
|
1076 |
function setSizeOfIcons(){
|
1077 |
+
|
1078 |
if((jQuery('input[name=mo_openid_login_theme]:checked', '#form-apps').val()) == 'longbutton'){
|
1079 |
return document.getElementById('mo_login_icon_width').value;
|
1080 |
}else{
|
1081 |
return document.getElementById('mo_login_icon_size').value;
|
1082 |
}
|
1083 |
}
|
1084 |
+
moLoginPreview(setSizeOfIcons(),tempHorTheme,tempHorCustomTheme,tempHorCustomColor,tempHorSpace,tempHorHeight,tempHorBoundary);
|
1085 |
+
|
1086 |
+
|
1087 |
+
|
1088 |
function moLoginPreview(t,r,l,p,n,h,k){
|
1089 |
+
|
1090 |
if(l == 'default'){
|
1091 |
if(r == 'longbutton'){
|
1092 |
+
|
1093 |
var a = "btn-defaulttheme";
|
1094 |
jQuery("."+a).css("width",t+"px");
|
1095 |
jQuery("."+a).css("padding-top",(h-29)+"px");
|
1100 |
}else{
|
1101 |
var a="mo_login_icon_preview";
|
1102 |
jQuery("."+a).css("margin-left",(n-4)+"px");
|
1103 |
+
|
1104 |
if(r=="circle"){
|
1105 |
jQuery("."+a).css({height:t,width:t});
|
1106 |
jQuery("."+a).css("borderRadius","999px");
|
1115 |
}
|
1116 |
else if(l == 'custom'){
|
1117 |
if(r == 'longbutton'){
|
1118 |
+
|
1119 |
var a = "btn-customtheme";
|
1120 |
jQuery("."+a).css("width",(t)+"px");
|
1121 |
jQuery("."+a).css("padding-top",(h-29)+"px");
|
1129 |
jQuery("."+a).css({height:t-8,width:t});
|
1130 |
jQuery("."+a).css("padding-top","8px");
|
1131 |
jQuery("."+a).css("margin-left",(n-4)+"px");
|
1132 |
+
|
1133 |
if(r=="circle"){
|
1134 |
jQuery("."+a).css("borderRadius","999px");
|
1135 |
}else if(r=="oval"){
|
1141 |
jQuery("."+a).css("font-size",(t-16)+"px");
|
1142 |
}
|
1143 |
}
|
1144 |
+
|
1145 |
+
|
1146 |
previewLoginIcons();
|
1147 |
+
|
1148 |
}
|
1149 |
+
|
1150 |
function checkLoginButton(){
|
1151 |
if(document.getElementById('iconwithtext').checked) {
|
1152 |
if(setLoginCustomTheme() == 'default'){
|
1163 |
jQuery("#commontheme").hide();
|
1164 |
jQuery(".longbuttontheme").show();
|
1165 |
}else {
|
1166 |
+
|
1167 |
if(setLoginCustomTheme() == 'default'){
|
1168 |
jQuery(".mo_login_icon_preview").show();
|
1169 |
jQuery(".btn-defaulttheme").hide();
|
1179 |
jQuery(".longbuttontheme").hide();
|
1180 |
}
|
1181 |
previewLoginIcons();
|
1182 |
+
}
|
1183 |
+
|
1184 |
function previewLoginIcons() {
|
1185 |
var flag = 0;
|
1186 |
if (document.getElementById('google_enable').checked) {
|
1198 |
jQuery("#mo_custom_login_icon_preview_google").hide();
|
1199 |
jQuery("#mo_login_button_preview_google").hide();
|
1200 |
jQuery("#mo_custom_login_button_preview_google").hide();
|
1201 |
+
|
1202 |
}
|
1203 |
+
|
1204 |
if (document.getElementById('facebook_enable').checked) {
|
1205 |
flag = 1;
|
1206 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1234 |
jQuery("#mo_login_button_preview_vkontakte").hide();
|
1235 |
jQuery("#mo_custom_login_button_preview_vkontakte").hide();
|
1236 |
}
|
1237 |
+
|
1238 |
if (document.getElementById('linkedin_enable').checked) {
|
1239 |
flag = 1;
|
1240 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1241 |
jQuery("#mo_login_icon_preview_linkedin").show();
|
1242 |
if(document.getElementById('mo_openid_login_custom_radio').checked && !document.getElementById('iconwithtext').checked)
|
1243 |
jQuery("#mo_custom_login_icon_preview_linkedin").show();
|
1244 |
+
if(document.getElementById('mo_openid_login_default_radio').checked && document.getElementById('iconwithtext').checked)
|
1245 |
jQuery("#mo_login_button_preview_linkedin").show();
|
1246 |
+
if(document.getElementById('mo_openid_login_custom_radio').checked && document.getElementById('iconwithtext').checked)
|
1247 |
jQuery("#mo_custom_login_button_preview_linkedin").show();
|
1248 |
} else if(!document.getElementById('linkedin_enable').checked){
|
1249 |
jQuery("#mo_login_icon_preview_linkedin").hide();
|
1251 |
jQuery("#mo_login_button_preview_linkedin").hide();
|
1252 |
jQuery("#mo_custom_login_button_preview_linkedin").hide();
|
1253 |
}
|
1254 |
+
|
1255 |
if (document.getElementById('instagram_enable').checked) {
|
1256 |
flag = 1;
|
1257 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1268 |
jQuery("#mo_login_button_preview_instagram").hide();
|
1269 |
jQuery("#mo_custom_login_button_preview_instagram").hide();
|
1270 |
}
|
1271 |
+
|
1272 |
if (document.getElementById('amazon_enable').checked) {
|
1273 |
flag = 1;
|
1274 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checkedd)
|
1287 |
jQuery("#mo_login_button_preview_amazon").hide();
|
1288 |
jQuery("#mo_custom_login_button_preview_amazon").hide();
|
1289 |
}
|
1290 |
+
|
1291 |
if (document.getElementById('salesforce_enable').checked) {
|
1292 |
flag = 1;
|
1293 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1304 |
jQuery("#mo_login_button_preview_salesforce").hide();
|
1305 |
jQuery("#mo_custom_login_button_preview_salesforce").hide();
|
1306 |
}
|
1307 |
+
|
1308 |
if (document.getElementById('windowslive_enable').checked) {
|
1309 |
flag = 1;
|
1310 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1321 |
jQuery("#mo_login_button_preview_windowslive").hide();
|
1322 |
jQuery("#mo_custom_login_button_preview_windows").hide();
|
1323 |
}
|
1324 |
+
|
1325 |
+
|
1326 |
if (document.getElementById('twitter_enable').checked) {
|
1327 |
if(flag) {
|
1328 |
jQuery("#no_apps_text").hide();
|
1329 |
} else {
|
1330 |
jQuery("#no_apps_text").show();
|
1331 |
}
|
1332 |
+
|
1333 |
flag = 1;
|
1334 |
if(document.getElementById('mo_openid_login_default_radio').checked && !document.getElementById('iconwithtext').checked)
|
1335 |
jQuery("#mo_login_icon_preview_twitter").show();
|
1348 |
}
|
1349 |
checkLoginButton();
|
1350 |
</script>
|
1351 |
+
<script>
|
1352 |
+
|
1353 |
+
function restart_tour() {
|
1354 |
+
tour.restart();
|
1355 |
+
}
|
1356 |
+
|
1357 |
+
var tour = new Tour({
|
1358 |
+
name: "tour",
|
1359 |
+
steps: [
|
1360 |
+
{
|
1361 |
+
element: "#select_app",
|
1362 |
+
title: "Select Apps",
|
1363 |
+
content: "Select multiple apps to enable Social Login.",
|
1364 |
+
backdrop:'body',
|
1365 |
+
backdropPadding:'6'
|
1366 |
+
}, {
|
1367 |
+
element: "#custom_icon",
|
1368 |
+
title: "Customize Icon",
|
1369 |
+
content: "Customize the look and feel of app icons to suit your website's theme. Live preview included.",
|
1370 |
+
backdrop:'body',
|
1371 |
+
backdropPadding:'6'
|
1372 |
+
}, {
|
1373 |
+
element: "#display_opt",
|
1374 |
+
title: "Display Options",
|
1375 |
+
content: "Select the pages where you want to show the social login icons.",
|
1376 |
+
|
1377 |
+
backdrop:'body',
|
1378 |
+
backdropPadding:'6'
|
1379 |
+
}
|
1380 |
+
,{
|
1381 |
+
element: "#redirect_opt",
|
1382 |
+
title: "Redirection Option",
|
1383 |
+
content: "Redirect user after login and logout on your website. ",
|
1384 |
+
backdrop:'body',
|
1385 |
+
backdropPadding:'6',
|
1386 |
+
|
1387 |
+
|
1388 |
+
}, {
|
1389 |
+
element: "#support",
|
1390 |
+
title: "miniOrange Support",
|
1391 |
+
content: "Feel free to reach out to us in case of any assistance.",
|
1392 |
+
backdrop:'body',
|
1393 |
+
backdropPadding:'6',
|
1394 |
+
|
1395 |
+
|
1396 |
+
},{
|
1397 |
+
element: "#save_opt",
|
1398 |
+
title: "Save",
|
1399 |
+
content: "Save the updated changes.",
|
1400 |
+
backdrop:'body',
|
1401 |
+
backdropPadding:'6',
|
1402 |
+
}
|
1403 |
+
|
1404 |
+
],
|
1405 |
+
template: function () {
|
1406 |
+
return (
|
1407 |
+
tour.getCurrentStep()===5 // Is this the last step?
|
1408 |
+
? "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:0px;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\"><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:left;margin-top:30%;margin-left:30%;\">"+ (tour.getCurrentStep()+1)+"/6</h4></div></div> <button class=\"button button-primary button-large\" data-role=\"end\">Done</button> </div> </div>"
|
1409 |
+
: "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:0px;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\" style=\"width: 100%;\"> <button class=\"mo2f_tour_btn mo2f_tour_btn-sm mo2f_tour_btn-secondary mo2f_tour_btn_next-success\" style=\"width: 32%;height: 0%;\" data-role=\"next\">Next »</button><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:right;margin-left: 53%;\">"+ (tour.getCurrentStep()+1)+"/6</h4></div></div></div></div>"
|
1410 |
+
);
|
1411 |
+
}
|
1412 |
+
});
|
1413 |
+
</script>
|
1414 |
+
|
1415 |
<tr>
|
1416 |
<td>
|
1417 |
<hr>
|
1466 |
|
1467 |
<h3><table>
|
1468 |
<tr><td><img src="<?php echo plugin_dir_url(__FILE__);?>includes/images/lock1.png"></td>
|
1469 |
+
<td> Get Standard or Premium plugin to unlock following features</h3> <br> <a style="margin-top: 25px;margin-left: 140px" class="button button-primary button-large" href="https://www.miniorange.com/social-login-social-sharing/" target="_blank">Upgrade Now</a></td>
|
1470 |
</tr>
|
1471 |
</table>
|
1472 |
</div>
|
1506 |
<b>Enter Privacy Policy URL: </b><br>
|
1507 |
<input type="text" style="width:90%" disabled="disabled" />
|
1508 |
</td>
|
1509 |
+
</tr>
|
1510 |
+
<br><hr><br><?php ;} ?>
|
1511 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1512 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1513 |
</div>
|
1514 |
</form>
|
1515 |
+
|
1516 |
<script>
|
1517 |
jQuery(function() {
|
1518 |
jQuery('#tab2').removeClass('disabledTab');
|
1519 |
});
|
1520 |
</script>
|
1521 |
</td>
|
1522 |
+
<td style="vertical-align:top;padding-left:1%;" >
|
1523 |
+
<div id="support"><?php echo miniorange_openid_support(); ?></div>
|
1524 |
</td>
|
1525 |
<?php
|
1526 |
}
|
1806 |
<td><br /><input disabled type="submit" name="submit" value="Save" style="width:100px;" <?php if(!mo_openid_is_customer_registered()) echo 'disabled'?> class="button button-primary button-large" />
|
1807 |
</td>
|
1808 |
</tr>
|
|
|
|
|
|
|
1809 |
</table>
|
1810 |
|
1811 |
<br><b>*NOTE: These features require SMTP to be setup.</b>
|
1836 |
<tr>
|
1837 |
<td colspan="2">
|
1838 |
<h3>Social Comments
|
1839 |
+
<input type="submit" id="comment_save" name="submit" value="Save" style="width:100px;float:right;margin-right:2%" class="button button-primary button-large" onclick="end_tour();"/> <button type="button" id="mo_openid_restart_tour" class="button button-primary button-large"style="float:right; margin-right:2%;width:25%" onclick="restart_tour();"><i class="fa fa-refresh"></i> Social Commenting Tour</button>
|
|
|
1840 |
</h3>
|
1841 |
<b>Select applications to add Social Comments. These commenting applications will be added to your blog post pages at the location of your comments.</b>
|
1842 |
</td>
|
1843 |
</tr>
|
1844 |
+
</table><br/>
|
1845 |
+
<hr>
|
1846 |
+
<table id="sel_app" class="mo_openid_display_table">
|
1847 |
<tr>
|
1848 |
<td colspan="2">
|
1849 |
+
|
|
|
1850 |
<h3>Select Applications</h3>
|
1851 |
If none of the below are selected, default WordPress comments will only be visible. Only selecting Default WordPress Comments will not result in any changes.
|
1852 |
</td>
|
1864 |
<td><input type="checkbox" id="mo_openid_social_comment_google" name="mo_openid_social_comment_google" value="1" <?php checked( get_option('mo_openid_social_comment_google') == 1 );?> /><b>Google+ Comments</b>
|
1865 |
</td>
|
1866 |
<tr>
|
1867 |
+
</table><br>
|
1868 |
+
<hr>
|
1869 |
+
<table id="disp_opt" class="mo_openid_display_table">
|
1870 |
<tr>
|
1871 |
<td colspan="2">
|
1872 |
+
|
|
|
1873 |
<h3>Display Options</h3>
|
1874 |
Select the options where you want to add social comments.
|
1875 |
</td>
|
1883 |
<td><input type="checkbox" id="mo_openid_social_comment_static" name="mo_openid_social_comment_static" value="1" <?php checked( get_option('mo_openid_social_comment_static') == 1 );?> /><b>Static Pages</b>
|
1884 |
</td>
|
1885 |
<tr>
|
1886 |
+
</table><br>
|
1887 |
+
<hr>
|
1888 |
+
<table class="mo_openid_display_table">
|
1889 |
+
<tr><td><table id="cust_text"><tr>
|
1890 |
<td colspan="2">
|
1891 |
+
|
|
|
1892 |
<h3>Customize Text For Social Comment Labels</h3>
|
1893 |
</td>
|
1894 |
</tr>
|
1907 |
<tr>
|
1908 |
<td><b>Comments - Google Label:</b></td>
|
1909 |
<td><input class="mo_openid_table_textbox" type="text" name="mo_openid_social_comment_google_label" value="<?php echo get_option('mo_openid_social_comment_google_label'); ?>" /></td>
|
1910 |
+
</tr></table></td></tr>
|
1911 |
|
1912 |
<tr>
|
1913 |
<td><br /><input type="submit" name="submit" value="Save" style="width:100px;" class="button button-primary button-large" />
|
1933 |
</form>
|
1934 |
</td>
|
1935 |
<td style="vertical-align:top;padding-left:1%;">
|
1936 |
+
<div id="support"><?php echo miniorange_openid_support(); ?></div>
|
1937 |
</td>
|
1938 |
+
<script>
|
1939 |
+
function restart_tour() {
|
1940 |
+
|
1941 |
+
tour.restart();
|
1942 |
+
}
|
1943 |
+
|
1944 |
+
var tour = new Tour({
|
1945 |
+
name: "tour",
|
1946 |
+
steps: [
|
1947 |
+
{
|
1948 |
+
element: "#sel_app",
|
1949 |
+
title: "Select Apps",
|
1950 |
+
content: "Select multiple apps to enable Social commenting.",
|
1951 |
+
backdrop:'body',
|
1952 |
+
backdropPadding:'6'
|
1953 |
+
}, {
|
1954 |
+
element: "#disp_opt",
|
1955 |
+
title: "Display Options",
|
1956 |
+
content: "Select the options where you want to add social comments.",
|
1957 |
+
backdrop:'body',
|
1958 |
+
backdropPadding:'6'
|
1959 |
+
}, {
|
1960 |
+
element: "#cust_text",
|
1961 |
+
title: "Customize Text",
|
1962 |
+
content: "Customize the text of social commenting labels.",
|
1963 |
+
backdrop:'body',
|
1964 |
+
backdropPadding:'6'
|
1965 |
+
}
|
1966 |
+
,{
|
1967 |
+
element: "#support",
|
1968 |
+
title: "miniOrange Support",
|
1969 |
+
content: "Feel free to reach out to us in case of any assistance.",
|
1970 |
+
backdrop:'body',
|
1971 |
+
backdropPadding:'6',
|
1972 |
+
|
1973 |
+
|
1974 |
+
},{
|
1975 |
+
element: "#comment_save",
|
1976 |
+
title: "Save",
|
1977 |
+
content: "Save the updated changes.",
|
1978 |
+
backdrop:'body',
|
1979 |
+
backdropPadding:'6'
|
1980 |
+
}
|
1981 |
+
],
|
1982 |
+
template: function () {
|
1983 |
+
return (
|
1984 |
+
tour.getCurrentStep()===4// Is this the last step?
|
1985 |
+
? "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:0px;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\"><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:left;margin-top:30%;margin-left:30%;\">"+ (tour.getCurrentStep()+1)+"/5</h4></div></div> <button class=\"button button-primary button-large\" data-role=\"end\">Done</button> </div> </div>"
|
1986 |
+
: "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:0px;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\" style=\"width: 100%;\"> <button class=\"mo2f_tour_btn mo2f_tour_btn-sm mo2f_tour_btn-secondary mo2f_tour_btn_next-success\" style=\"width: 32%;height: 0%;\" data-role=\"next\">Next »</button><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:right;margin-left: 53%;\">"+ (tour.getCurrentStep()+1)+"/5</h4></div></div></div></div>"
|
1987 |
+
);
|
1988 |
+
}
|
1989 |
+
});
|
1990 |
+
|
1991 |
+
|
1992 |
+
</script>
|
1993 |
<?php
|
1994 |
}
|
1995 |
|
2050 |
</tr>
|
2051 |
</table>
|
2052 |
<br><input type="submit" value="Send OTP" class="button button-primary button-large" />
|
2053 |
+
|
2054 |
</form>
|
2055 |
<br>
|
2056 |
<h3>What is an OTP ?</h3>
|
2058 |
</div>
|
2059 |
<script>
|
2060 |
jQuery("#phone").intlTelInput();
|
|
|
|
|
2061 |
</script>
|
2062 |
+
|
2063 |
</td>
|
2064 |
<td style="vertical-align:top;padding-left:1%;">
|
2065 |
<?php echo miniorange_openid_support(); ?>
|
2079 |
<table>
|
2080 |
<tr>
|
2081 |
<td colspan="2">
|
2082 |
+
<h3>Social Sharing <input type="submit" id="share_save" name="submit" value="Save" style="width:100px;float:right;margin-right:2%" class="button button-primary button-large" onclick="end_tour();"/><button type="button" id="mo_openid_restart_tour" class="button button-primary button-large"style="float:right; margin-right:2%;width:20%" onclick="restart_tour();"><i class="fa fa-refresh"></i> Social Sharing Tour</button>
|
|
|
|
|
2083 |
</h3>
|
2084 |
<b>Select applications to add share icons. Customize sharing icons by using a range of shapes, themes and sizes to suit to your website. You can also choose different places to display these icons. Additionally, place vertical floating icons on your pages.</b>
|
2085 |
</td>
|
2088 |
</table>
|
2089 |
|
2090 |
<table class="mo_openid_settings_table">
|
2091 |
+
<tr id="sel_apps"><td><table><h3>Select Social Apps</h3>
|
2092 |
<p>Select applications to enable social sharing</p>
|
2093 |
<tr>
|
2094 |
<td class="mo_openid_table_td_checkbox">
|
2095 |
+
|
2096 |
<tr>
|
2097 |
<td style="width:20%">
|
2098 |
<input type="checkbox" id="facebook_share_enable" class="app_enable" name="mo_openid_facebook_share_enable" value="1"
|
2183 |
<strong>Whatsapp</strong>
|
2184 |
</td>
|
2185 |
</tr>
|
2186 |
+
|
2187 |
</td>
|
2188 |
</tr>
|
2189 |
+
</table>
|
2190 |
+
</td>
|
2191 |
+
</tr>
|
2192 |
|
2193 |
|
2194 |
|
2195 |
|
2196 |
+
<tr id="cust_icon"><td><table><tr>
|
2197 |
<td>
|
2198 |
<br>
|
2199 |
<hr>
|
2350 |
</div>
|
2351 |
|
2352 |
</td>
|
2353 |
+
</tr></table></td></tr>
|
2354 |
|
2355 |
<script>
|
2356 |
var tempHorSize = '<?php echo get_option('mo_sharing_icon_custom_size') ?>';
|
2694 |
addSelectedApps();
|
2695 |
});
|
2696 |
</script>
|
2697 |
+
<script>
|
2698 |
+
function restart_tour() {
|
2699 |
+
|
2700 |
+
tour.restart();
|
2701 |
+
}
|
2702 |
+
|
2703 |
+
var tour = new Tour({
|
2704 |
+
name: "tour",
|
2705 |
+
steps: [
|
2706 |
+
{
|
2707 |
+
element: "#sel_apps",
|
2708 |
+
title: "Select Apps",
|
2709 |
+
content: "Select multiple apps to enable Social Sharing.",
|
2710 |
+
backdrop:'body',
|
2711 |
+
backdropPadding:'6'
|
2712 |
+
}, {
|
2713 |
+
element: "#cust_icon",
|
2714 |
+
title: "Customize Icons",
|
2715 |
+
content: "Customize the look and feel of app icons to suit your website's theme. Live preview included.",
|
2716 |
+
backdrop:'body',
|
2717 |
+
backdropPadding:'6'
|
2718 |
+
}, {
|
2719 |
+
element: "#disp_options",
|
2720 |
+
title: "Display Option",
|
2721 |
+
content: "Select the pages where you want to show the social sharing icons.",
|
2722 |
+
backdrop:'body',
|
2723 |
+
backdropPadding:'6'
|
2724 |
+
}
|
2725 |
+
,{
|
2726 |
+
element: "#support",
|
2727 |
+
title: "miniOrange Support",
|
2728 |
+
content: "Feel free to reach out to us in case of any assistance.",
|
2729 |
+
backdrop:'body',
|
2730 |
+
backdropPadding:'6',
|
2731 |
+
|
2732 |
+
|
2733 |
+
},{
|
2734 |
+
element: "#share_save",
|
2735 |
+
title: "Save",
|
2736 |
+
content: "Save the updated changes.",
|
2737 |
+
backdrop:'body',
|
2738 |
+
backdropPadding:'6'
|
2739 |
+
}
|
2740 |
+
|
2741 |
+
],
|
2742 |
+
template: function () {
|
2743 |
+
return (
|
2744 |
+
tour.getCurrentStep()===4 // Is this the last step?
|
2745 |
+
? "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:0px;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\"><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:left;margin-top:30%;margin-left:30%;\">"+ (tour.getCurrentStep()+1)+"/5</h4></div></div> <button class=\"button button-primary button-large\" data-role=\"end\">Done</button> </div> </div>"
|
2746 |
+
: "<div class=\"mo2f_popover\" role=\"tooltip\"> <div class=\"mo2f_arrow\" ></div> <h3 class=\"mo2f_popover-header\" style=\"margin-top:0px;\"></h3> <div class=\"mo2f_popover-body\"></div> <div class=\"mo2f_popover-navigation\"> <div class=\"mo2f_tour_btn-group\" style=\"width: 100%;\"> <button class=\"mo2f_tour_btn mo2f_tour_btn-sm mo2f_tour_btn-secondary mo2f_tour_btn_next-success\" style=\"width: 32%;height: 0%;\" data-role=\"next\">Next »</button><div style=\"width:47%;margin-top: -7%;\"><h4 style=\"float:right;margin-left: 53%;\">"+ (tour.getCurrentStep()+1)+"/5</h4></div></div></div></div>"
|
2747 |
+
);
|
2748 |
+
}
|
2749 |
+
});
|
2750 |
+
|
2751 |
+
|
2752 |
+
|
2753 |
+
</script>
|
2754 |
<tr>
|
2755 |
<td>
|
2756 |
<br/>
|
2803 |
value="<?php echo get_option('mo_openid_share_email_body'); ?>" />
|
2804 |
</td>
|
2805 |
</tr>
|
2806 |
+
<tr id="disp_options"><td><table><tr>
|
2807 |
<td>
|
2808 |
<br>
|
2809 |
<hr>
|
2827 |
Both before and after content
|
2828 |
</td>
|
2829 |
</tr>
|
2830 |
+
|
2831 |
<tr>
|
2832 |
<td>
|
2833 |
<input type="checkbox" id="mo_apps_posts" name="mo_share_options_post" value="1" <?php checked( get_option('mo_share_options_enable_post') == '1' );?>>
|
2914 |
<input type="radio" id="mo_apps_posts_options" name="mo_share_options_bb_reply_position" value="both" <?php checked( get_option('mo_share_options_bb_reply_position') == 'both' );?>>
|
2915 |
Both before and after content
|
2916 |
</td>
|
2917 |
+
</tr></table></td></tr>
|
2918 |
<tr>
|
2919 |
<td>
|
2920 |
<br/>
|
2982 |
</script>
|
2983 |
</td>
|
2984 |
<td style="vertical-align:top;padding-left:1%;">
|
2985 |
+
<div id="support"><?php echo miniorange_openid_support(); ?></div>
|
2986 |
</td>
|
2987 |
<?php
|
2988 |
}
|
3108 |
}
|
3109 |
|
3110 |
function mo_openid_pricing_info(){
|
3111 |
+
if (isset($_POST['update_tour_status'])){
|
3112 |
+
update_option('mo_openid_tour','1');
|
3113 |
+
}
|
3114 |
?>
|
3115 |
<td style="vertical-align:top;width:100%;">
|
3116 |
<div class="mo_openid_table_layout">
|
3865 |
|
3866 |
}elseif (get_option('mo_openid_apps_list')==null){
|
3867 |
echo "<div style='text-align: center'><p>You have not configured any custom apps yet. Please click on <b>Add Application</b> to configure your own app.</p>";
|
3868 |
+
echo "<br><input type='button' onclick='window.location.href=\"admin.php?page=mo_openid_settings&tab=custom_app&action=add\"' class='button button-primary button-large' style='text-align:center;' value='Add Application'>";
|
3869 |
+
echo "<br><br><br><br><br>";?>
|
3870 |
+
<img style="margin-top: -3%" src="<?php echo plugin_dir_url(__FILE__);?>includes/images/custom_app.png">
|
3871 |
|
3872 |
+
<?php
|
3873 |
}?>
|
3874 |
</div>
|
3875 |
+
|
3876 |
+
|
3877 |
</td>
|
3878 |
<script>
|
3879 |
//ajax call for custom app over default app
|
3893 |
});
|
3894 |
}
|
3895 |
</script>
|
3896 |
+
|
3897 |
<?php
|
3898 |
}
|
3899 |
|
3905 |
var appname = document.getElementById("mo_oauth_app").value;
|
3906 |
document.getElementById("instructions").innerHTML = "";
|
3907 |
if(appname=="google"){
|
3908 |
+
document.getElementById("mo_oauth_scope").value = "";
|
3909 |
document.getElementById("instructions").innerHTML = '<br><strong>Instructions to configure Google :</strong><ol><li>Visit the Google website for developers <a href="https://console.developers.google.com/project"target="_blank">console.developers.google.com</a>.</li><li>Open the Google API Console Credentials page and go to API Manager -> Credentials</li><li>From the project drop-down, click on + to Create a new project, enter a name for the project, and optionally, edit the provided Project ID. Click Create.</li><li>On the Credentials menu, select Create credentials, then select OAuth client ID.</li><li>You may be prompted to set a product name on the Consent screen. If so, click Configure consent screen, supply the requested information, and click Save to return to the Credentials screen.</li><li>Select Web Application for the Application Type. Enter <b><?php if(get_option('mo_openid_malform_error')){ echo site_url()."/openidcallback/google";} else {echo site_url()."/openidcallback";}?></b> in Authorized redirect URIs.</li><li>Click Create.</li><li>On the page that appears, copy the client ID and client secret to your clipboard, as you will need them to configure above.</li><li>Enable the Google+ API.<ul><li>In the Dashboard menu, click on ENABLE APIS AND SERVICES.</li><li>Type Google+ in search box, select Google+ API and click on Enable.</li></ul></li><li>Input scope as <b>https://www.googleapis.com/auth/userinfo.profile+ https://www.googleapis.com/auth/user.birthday.read+ https://www.googleapis.com/auth/plus.login+ https://www.googleapis.com/auth/plus.profile.emails.read+ https://www.googleapis.com/auth/userinfo.email+ https://www.googleapis.com/auth/plus.me </b></li><li>Go to Social Login tab to configure the display as well as other login settings.</li></ol>';
|
3910 |
} else if(appname=="facebook"){
|
3911 |
+
document.getElementById("mo_oauth_scope").value = "email, public_profile";
|
3912 |
document.getElementById("instructions").innerHTML = '<br><strong>Instructions to configure Facebook : </strong><ol><li>Go to Facebook developers console <a href="https://developers.facebook.com/apps/" target="_blank">https://developers.facebook.com/apps/</a>. Login with your facebook developer account</li><li>Click on Create a New App/Add new App button</li><li>Enter <b>Display Name</b> and click on Create App ID</li><li>In Add Product select Facebook Login and click on Setup</li><li>Click on Web. Enter your Site URL. From the left pane, select <b>Facebook Login -> Settings</b>.</li><li>Under <b>Client OAuth Settings</b>, enter <b><?php if(get_option('mo_openid_malform_error')){echo site_url()."/openidcallback/facebook";} else{echo site_url()."/openidcallback";}?></b> in Valid OAuth redirect URIs and click <b>Save Changes</b>.</li><li>Go to <b>Settings -> Basic</b>. Enter <b><?php $str=str_replace('https://','',site_url()); echo $str; ?></b> in <b>App Domain</b>, <b><?php echo site_url(); ?></b> in <b>Website URL </b>, your privacy policy URL in <b>Privacy Policy URL</b> and select <b>Category</b> of your website .</li><li>Go to <b>App Review </b>make your app public. After making app public you will see on right top corner your app status changes from <b>In Development</b> to <b>Live</b>.</li><li>Go to Settings > Basic. Paste your App ID and App Secret provided by Facebook into the fields above.</li><li>Input <b> email, public_profile </b>as scope.</li><li> If you want to access the <b>user_birthday, user_hometown, user_location</b> of a Facebook user, you need to send your app for review to Facebook. For submitting an app for review, click <a target="_blank" href="https://developers.facebook.com/docs/facebook-login/review/how-to-submit ">here</a>. After your app is reviewed, you can add the scopes you have sent for review in the scope above. If your app is not approved or is in the process of getting approved, let the scope be <b>email, public_profile, user_friends</b> </li><li>Click on the Save settings button.</li><li>Go to Social Login tab to configure the display as well as other login settings.</li></ol>';
|
3913 |
} else if(appname=="twitter"){
|
3914 |
+
document.getElementById("mo_oauth_scope").value = "";
|
3915 |
+
document.getElementById("instructions").innerHTML = '<br><strong>Instructions to configure Twitter : </strong><ol><li>Go to <a href="https://apps.twitter.com/" target="_blank">https://apps.twitter.com/</a> and sign in with your twitter account.</li><li>Click on <b>Create New App</b>.</li> <li>Enter Name, description, website name and callback URL.</li><li><b>Callback URL</b> <br><u>Example of public website, </u><br>if your website URL is =><?php echo site_url();?><br> then your callback URL should be => <?php echo site_url();?>/openidcallback<br><u>Example of localhost,</u><br> Twitter may not accept local IPs so try using 127.0.0.1 instead of localhost.<br> Also make sure your Callback URL is prefixed with the website. <br> Go to Settings-> General and replace "localhost" with "127.0.0.1" in <b>WordPress Address (URL)</b> and <b>Site Address (URL)</b> <br>if your website URL is => http://127.0.0.1/wordpress <br> then your callback URL should be => http://127.0.0.1/wordpress/openidcallback</li><li>Twitter might ask you to add your phone number to your profile while creating the app.</li><li>Check the developer agreement checkbox and click on <b>Create your Twitter Application</b>.Under <b>Keys and Access Token</b> Tab, you will find your <b>API Key/Secret</b>.Paste them into the fields above.</li><li>Leave the scope field blank.</li><li><u>Instructions to request email address of a user</u>: The “Request email addresses from users†checkbox is available under the app permissions on apps.twitter.com. Privacy Policy URL and Terms of Service URL fields must be completed in the app settings in order for email address access to function. If enabled, users will be informed via the oauth/authorize dialog that your app can access their email address.If the user does not have an email address on their account, or if the email address is not verified, email will not be returned.</li><li>Go to Permissions tab -> Access. Select <b>Read Only</b> type of access.</li><li>Click on the Update settings button.</li><li>Go to Social Login tab to configure the display as well as other login settings.</li></ol>';
|
3916 |
}
|
3917 |
|
3918 |
}
|
3944 |
<td><input class="mo_table_textbox" required="" style="height: 27px; width:500px" type="text" name="mo_oauth_client_secret" value=""></td>
|
3945 |
</tr>
|
3946 |
<tr>
|
3947 |
+
<td><strong>Scope:</strong></td>
|
3948 |
+
<td><input class="mo_table_textbox" style="height: 27px; width:500px" type="text" id="mo_oauth_scope" name="mo_oauth_scope" value="" ></td>
|
3949 |
+
</tr>
|
3950 |
<tr>
|
3951 |
<td> </td>
|
3952 |
<td><input type="submit" name="submit" value="Save settings" class="button button-primary button-large" />
|
4080 |
<div class="mo_openid_support_layout">
|
4081 |
|
4082 |
<h3>Support</h3>
|
4083 |
+
|
4084 |
<p>Need any help? Couldn't find an answer in <a href="<?php echo add_query_arg( array('tab' => 'help'), $_SERVER['REQUEST_URI'] ); ?>">FAQ</a>?<br>Just send us a query so we can help you.</p>
|
4085 |
<form method="post" action="">
|
4086 |
<input type="hidden" name="option" value="mo_openid_contact_us_query_option" />
|
4096 |
</tr>
|
4097 |
</table>
|
4098 |
<br>
|
4099 |
+
<input type="submit" name="submit" value="Submit Query" style="width:110px;margin-left: 30%;margin-top: -2%;" class="button button-primary button-large" />
|
4100 |
+
<br><h2 style="text-align: center;margin-left: -10%;">OR</h2><br>
|
4101 |
|
4102 |
+
<button type="button" class="button button-primary button-large"style=" margin-top: -4%;margin-left: 23%;" onclick="wordpress_support();"> WordPress Support Forum</button>
|
4103 |
</form>
|
4104 |
+
<p style="margin-top: 7%;">If you want custom features in the plugin, just drop an email at <a href="mailto:info@miniorange.com">info@miniorange.com</a>.</p>
|
4105 |
</div>
|
4106 |
</div>
|
4107 |
</div>
|
4131 |
function moLoginHeightValidate(e){
|
4132 |
var t=parseInt(e.value.trim());t>50?e.value=50:35>t&&(e.value=35)
|
4133 |
}
|
4134 |
+
function wordpress_support() {
|
4135 |
+
window.open("https://wordpress.org/support/plugin/miniorange-login-openid");
|
4136 |
+
|
4137 |
+
}
|
4138 |
</script>
|
4139 |
<?php
|
4140 |
}
|
4174 |
} else
|
4175 |
return 0;
|
4176 |
}
|
4177 |
+
|
4178 |
function mo_openid_restrict_user() {
|
4179 |
if((get_option('mo_openid_admin_customer_key')>151617) || (get_option('mo_openid_new_user')==1)|| !mo_openid_is_customer_registered()) {
|
4180 |
return true;
|
4183 |
}
|
4184 |
}
|
4185 |
|
4186 |
+
function mo_openid_registeration_modal(){
|
4187 |
+
update_option('regi_pop_up','yes');
|
4188 |
+
update_option ( 'mo_openid_new_registration', 'true' );
|
4189 |
+
global $current_user;
|
4190 |
+
|
4191 |
+
|
4192 |
+
$current_user = wp_get_current_user();
|
4193 |
+
?><div id="request_registeration" class="mo_openid_modal" style="height:100%">
|
4194 |
+
<!-- Modal content -->
|
4195 |
+
<div class="mo_openid_modal-content" style="text-align:center;margin-left: 32%;margin-top: 4%;width: 37%;">
|
4196 |
+
<div class="modal-head">
|
4197 |
+
<!-- <span class="mo_close">×</span>-->
|
4198 |
+
<a href="" class="mo_close" id="mo_close" style="text-decoration:none;margin-top: 3%;">×</a>
|
4199 |
+
<h1>Save As</h1>
|
4200 |
+
</div>
|
4201 |
+
<br>
|
4202 |
+
<span id="msg1" style="text-align: center;color: #56b11e"><?php echo get_option("pop_regi_msg"); update_option('pop_regi_msg','Your settings are saved successfully. Please enter your valid email address to enable social login.');?></span>
|
4203 |
+
<br>
|
4204 |
+
<br>
|
4205 |
+
<br>
|
4206 |
+
<div id="mo_saml_show_registeration_modal" >
|
4207 |
+
|
4208 |
+
<!--Register with miniOrange-->
|
4209 |
+
|
4210 |
+
<form name="f" method="post" action="" id="pop-register-form">
|
4211 |
+
<input type="hidden" name="option" value="mo_openid_connect_register_customer" />
|
4212 |
+
|
4213 |
+
<div>
|
4214 |
+
|
4215 |
+
|
4216 |
+
<table style="text-align: left;width: 100%">
|
4217 |
+
|
4218 |
+
|
4219 |
+
<tr>
|
4220 |
+
<td><b><font color="#FF0000">*</font>Email:</b></td>
|
4221 |
+
<td><input class="mo_openid_table_textbox" type="email" name="email"
|
4222 |
+
style="width: 100%" required placeholder="person@example.com"
|
4223 |
+
value="<?php echo $current_user->user_email;?>" />
|
4224 |
+
</td>
|
4225 |
+
</tr>
|
4226 |
+
|
4227 |
+
<tr id="pop_register" style="display: none">
|
4228 |
+
<td><b><font color="#FF0000">*</font>Website/Company Name:</b></td>
|
4229 |
+
<td><input class="mo_openid_table_textbox" type="text" name="company"
|
4230 |
+
style="width: 100%" required placeholder="Enter website or company name"
|
4231 |
+
value="<?php echo $_SERVER['SERVER_NAME']; ?>"/></td>
|
4232 |
+
</tr>
|
4233 |
+
|
4234 |
+
<tr id="pop_register" style="display: none">
|
4235 |
+
<td><b><font color="#FF0000">*</font>Password:</b></td>
|
4236 |
+
<td><input class="mo_openid_table_textbox" required type="password"
|
4237 |
+
name="password" style="width: 100%" placeholder="Choose your password (Min. length 6)" /></td>
|
4238 |
+
</tr>
|
4239 |
+
<tr id="pop_register" style="display: none">
|
4240 |
+
<td><b><font color="#FF0000">*</font>Confirm Password:</b></td>
|
4241 |
+
<td><input class="mo_openid_table_textbox" required type="password"
|
4242 |
+
name="confirmPassword" style="width: 100%" placeholder="Confirm your password" /></td>
|
4243 |
+
</tr>
|
4244 |
+
<tr style="text-align: center">
|
4245 |
+
<td>
|
4246 |
+
|
4247 |
+
|
4248 |
+
</td>
|
4249 |
+
|
4250 |
+
</tr>
|
4251 |
+
<tr><td><input type="button" id="pop_next" class="button button-primary button-large" style="margin-left: 104%;" value=" Next Step" onclick="show_pass()" />
|
4252 |
+
</td></tr>
|
4253 |
+
|
4254 |
+
</table>
|
4255 |
+
<input type="submit" value="Submit" id="register_submit" style="display:none;margin-right: 21%;"class="button button-primary button-large">
|
4256 |
+
</form>
|
4257 |
+
<form method="post">       <input type="submit" id="pop_next" name="show_login" value="Existing Account" class="button button-primary button-large" style="margin-left: 31%;margin-top: -6.5%;"> <input type="submit" id="pop_register" name="show_login" value="Existing Account" class="button button-primary button-large" style="display: none;margin-top: -6.0%; float: right; margin-right:22%; ">
|
4258 |
+
</form>
|
4259 |
+
</div>
|
4260 |
+
</div>
|
4261 |
+
|
4262 |
+
</div>
|
4263 |
+
|
4264 |
+
</div>
|
4265 |
+
|
4266 |
+
</div>
|
4267 |
+
<script>
|
4268 |
+
function show_pass(){
|
4269 |
+
var regi_button = document.getElementById('register_submit').style;
|
4270 |
+
regi_button.display = '';
|
4271 |
+
|
4272 |
+
jQuery("[id*=pop_next]").css('display','none');
|
4273 |
+
document.getElementById("msg1").innerHTML = "Please enter and confirm the password";
|
4274 |
+
jQuery("[id*=pop_register]").css('display',''); //and $('#Id').css('padding-left','20%');
|
4275 |
+
}
|
4276 |
+
</script>
|
4277 |
+
<?php
|
4278 |
+
}
|
4279 |
+
|
4280 |
+
function mo_pop_show_otp_verification($msg){
|
4281 |
+
global $current_user;
|
4282 |
+
$current_user = wp_get_current_user();
|
4283 |
+
update_option('regi_pop_up','yes');
|
4284 |
+
|
4285 |
+
?>
|
4286 |
+
<div id="request_registeration" class="mo_openid_modal" style="height:100%">
|
4287 |
+
<!-- Modal content -->
|
4288 |
+
<div class="mo_openid_modal-content" style="text-align:center;margin-left: 32%;margin-top: 2%;width: 37%;">
|
4289 |
+
<div class="modal-head">
|
4290 |
+
<!-- <span class="mo_close">×</span>-->
|
4291 |
+
<a href="" class="mo_close" id="mo_close" style="text-decoration:none;margin-top: 3%;">×</a>
|
4292 |
+
<h1>Verify Your Email </h1>
|
4293 |
+
</div>
|
4294 |
+
<br>
|
4295 |
+
<span style="text-align: center;color: #56b11e"><?php echo $msg;?></span>
|
4296 |
+
<br>
|
4297 |
+
<br>
|
4298 |
+
<div id="mo_saml_show_registeration_modal" >
|
4299 |
+
|
4300 |
+
<!--Register with miniOrange-->
|
4301 |
+
|
4302 |
+
|
4303 |
+
<form name="f" method="post" action="" id="pop-otp-form" style="margin-left: 28%;">
|
4304 |
+
<input type="hidden" name="option" value="mo_openid_validate_otp" />
|
4305 |
+
<div>
|
4306 |
+
|
4307 |
+
<table style="text-align: left;width: 100%">
|
4308 |
+
<tr>
|
4309 |
+
<td><b><font color="#FF0000">*</font>Enter OTP:</b></td>
|
4310 |
+
|
4311 |
+
<td><input class="mo_openid_table_textbox" autofocus="true" type="text" name="otp_token" required placeholder="Enter OTP" style="margin-left: -10%;width:45%;" />
|
4312 |
+
|
4313 |
+
</td>
|
4314 |
+
|
4315 |
+
</tr>
|
4316 |
+
<tr style="text-align: center">
|
4317 |
+
<td>
|
4318 |
+
|
4319 |
+
</td>
|
4320 |
+
|
4321 |
+
</tr>
|
4322 |
+
</table>
|
4323 |
+
<input type="submit" value="Submit" id="otp_submit" style="margin-left: -71%;"class="button button-primary button-large" onclick="subotp()"/>
|
4324 |
+
|
4325 |
+
</form>
|
4326 |
+
|
4327 |
+
</form>
|
4328 |
+
<form method="post">
|
4329 |
+
            <input type="submit" id="go_to_register" name="go_to_register" value="Register" class="button button-primary button-large" style="margin-left: -29%;margin-top: -8.2%;">
|
4330 |
+
</form>
|
4331 |
+
|
4332 |
+
</div>
|
4333 |
+
<div style="margin-left: 14%;"><form name="f" id="pop_resend_otp_form" method="post" action="">
|
4334 |
+
<input type="hidden" name="option" value="mo_openid_resend_otp"/>
|
4335 |
+
            <input type="submit" value="Click Here To Get A New OTP?" id="resend_otp" style="cursor:pointer ;background: none!important;border:none;padding:0!important;margin-left: -29%;margin-top: -8.2%;color: darkblue;""/>
|
4336 |
+
</form></div>
|
4337 |
+
</div>
|
4338 |
+
|
4339 |
+
</div>
|
4340 |
+
|
4341 |
+
</div>
|
4342 |
+
<script>
|
4343 |
+
function subotp() {
|
4344 |
+
jQuery('#otp_submit').click(function() {
|
4345 |
+
jQuery('#pop-otp-form').submit();
|
4346 |
+
})
|
4347 |
+
}
|
4348 |
+
|
4349 |
+
</script>
|
4350 |
+
<?php
|
4351 |
+
}
|
4352 |
+
|
4353 |
+
function mo_pop_show_verify_password_page() {
|
4354 |
+
update_option('regi_pop_up','yes');
|
4355 |
+
//add_option('pop_login_msg','');
|
4356 |
+
?>
|
4357 |
+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
4358 |
+
<div id="request_registeration" class="mo_openid_modal" style="height:100%">
|
4359 |
+
|
4360 |
+
<!-- Modal content -->
|
4361 |
+
<div class="mo_openid_modal-content" style="text-align:center;margin-left: 32%;margin-top: 2%;width: 37%;">
|
4362 |
+
<div class="modal-head">
|
4363 |
+
<!-- <span class="mo_close">×</span>-->
|
4364 |
+
<a href="" class="mo_close" id="mo_close" style="text-decoration:none;margin-top: 3%;">×</a>
|
4365 |
+
<h1>Login</h1>
|
4366 |
+
</div>
|
4367 |
+
<br>
|
4368 |
+
<span style="text-align: center;color: #56b11e"><?php echo get_option("pop_login_msg"); update_option('pop_login_msg','Enter Your Login Credentials.');?></span>
|
4369 |
+
<br><br>
|
4370 |
+
<div id="mo_saml_show_registeration_modal" >
|
4371 |
+
|
4372 |
+
<!--Register with miniOrange-->
|
4373 |
+
<form name="f" method="post" action="" id="pop-register-form">
|
4374 |
+
<input type="hidden" name="option" value="mo_openid_connect_verify_customer" />
|
4375 |
+
<div>
|
4376 |
+
<table style="text-align: left;width: 100%">
|
4377 |
+
|
4378 |
+
<tr>
|
4379 |
+
<td><b><font color="#FF0000">*</font>Email:</b></td>
|
4380 |
+
<td><input class="mo_openid_table_textbox" id="email" type="email" name="email"
|
4381 |
+
required placeholder="person@example.com"
|
4382 |
+
value="<?php echo get_option('mo_openid_admin_email');?>" />
|
4383 |
+
</td>
|
4384 |
+
</tr>
|
4385 |
+
|
4386 |
+
<tr>
|
4387 |
+
<td><b><font color="#FF0000">*</font>Password:</b></td>
|
4388 |
+
<td><input class="mo_openid_table_textbox" required type="password"
|
4389 |
+
name="password" placeholder="Choose your password" /></td>
|
4390 |
+
</tr>
|
4391 |
+
<tr style="text-align: center">
|
4392 |
+
<td>
|
4393 |
+
|
4394 |
+
</td>
|
4395 |
+
|
4396 |
+
</tr>
|
4397 |
+
</table>
|
4398 |
+
<input type="submit" value="Login" id="login_submit" style="margin-left: -21%;margin-top: -1%;" class="button button-primary button-large" "/>
|
4399 |
+
</div>
|
4400 |
+
</form>
|
4401 |
+
      <form method="post" style="margin-top: -16.3%;margin-left: 46%;">
|
4402 |
+
<input type="submit" id="go_to_register" name="go_to_register" value="Register" class="button button-primary button-large" style="margin-left: -67%;margin-top: 7.8%;">
|
4403 |
+
</form>
|
4404 |
+
<p><b><a href="#forgot_password">Click here if you forgot your password?</a></b></p>
|
4405 |
+
<form name="forgotpassword" method="post" action="" id="openidforgotpasswordform">
|
4406 |
+
<input type="hidden" name="option" value="mo_openid_forgot_password"/>
|
4407 |
+
<input type="hidden" id="forgot_pass_email" name="email" value=""/>
|
4408 |
+
</form>
|
4409 |
+
</div>
|
4410 |
+
|
4411 |
+
</div>
|
4412 |
+
|
4413 |
+
</div>
|
4414 |
+
|
4415 |
+
<script>
|
4416 |
+
jQuery('a[href="#forgot_password"]').click(function(){
|
4417 |
+
jQuery('#forgot_pass_email').val(jQuery('#email').val());
|
4418 |
+
jQuery('#openidforgotpasswordform').submit();
|
4419 |
+
});
|
4420 |
+
</script>
|
4421 |
+
<?php
|
4422 |
+
}
|
4423 |
+
?>
|
4424 |
+
|
4425 |
+
|
mo_openid_feedback_form.php
CHANGED
@@ -12,10 +12,10 @@
|
|
12 |
<body>
|
13 |
|
14 |
<!-- The Modal -->
|
15 |
-
<div id="myModal" class="
|
16 |
|
17 |
<!-- Modal content -->
|
18 |
-
<div class="
|
19 |
<span class="mo_openid_close">×</span>
|
20 |
<h3>What Happened? </h3>
|
21 |
<form name="f" method="post" action="" id="mo_openid_feedback">
|
12 |
<body>
|
13 |
|
14 |
<!-- The Modal -->
|
15 |
+
<div id="myModal" class="mo_openid_modal1">
|
16 |
|
17 |
<!-- Modal content -->
|
18 |
+
<div class="mo_openid_modal1-content">
|
19 |
<span class="mo_openid_close">×</span>
|
20 |
<h3>What Happened? </h3>
|
21 |
<form name="f" method="post" action="" id="mo_openid_feedback">
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== WordPress Social Login (Facebook, Google, Twitter) ===
|
2 |
-
Contributors:
|
3 |
Donate link: https://www.miniorange.com
|
4 |
-
Tags: social login,
|
5 |
Requires at least: 2.0.2
|
6 |
Tested up to: 4.9.8
|
7 |
-
Stable tag: 7.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -16,17 +16,13 @@ Social Login enables social login, social sharing, social comments using social
|
|
16 |
|
17 |
= Free Social Login Features =
|
18 |
|
19 |
-
* GDPR compliant Social Login.
|
20 |
* Social Login with Facebook, Google, Twitter, Vkontakte, LinkedIn, Instagram, Amazon, Windows Live & Salesforce
|
21 |
* **NO SETUP required for default social login apps.**
|
22 |
-
* Setup your own social login application with APP ID and APP Secret for Facebook,
|
23 |
* **Preview is available for Social Login icons**
|
24 |
* **Icon Customizations** - customize shape, theme, space & size of social login icons.
|
25 |
-
* **Account Linking** - Link social account to WordPress account
|
26 |
* **Profile completion** (username, email) - Prompt user for email & username if social login app doesn't return it. Email is verified with verification code.
|
27 |
* **Assign Roles to users** - Assign WordPress roles to users logging in with social login application.
|
28 |
-
* **Woocommerce display options** - Enable social login icons on the Woocommerce Checkout, Login, Registration pages.
|
29 |
-
* **BuddyPress display options** - Enable Social login icons on BuddyPress Registartion & Account pagess.
|
30 |
* Add the Social Login Icons on: login page, registration page, comment form or anywhere on your site using our Social Login widget/ shortcode.
|
31 |
* Sync Social Profile Picture with WordPress.
|
32 |
* Enable Email Notification to admin when user registers with social login application.
|
@@ -50,6 +46,10 @@ Social Login enables social login, social sharing, social comments using social
|
|
50 |
|
51 |
= Premium Social Login Features =
|
52 |
|
|
|
|
|
|
|
|
|
53 |
* All social login free version features
|
54 |
* **Enable your own social login application with APP ID and APP Secret for Facebook, Google, Twitter, Vkontakte, LinkedIn, Instagram, Amazon, Windows Live & Salesforce **[Premium]**
|
55 |
* **Woocommerce Integration [Premium]** - Auto-fill first name, last name and email in billing details of a user logging in with social login application.
|
@@ -69,7 +69,7 @@ Social Login enables social login, social sharing, social comments using social
|
|
69 |
|
70 |
= How is this plugin better than other plugins available =
|
71 |
* **Support for 9 apps in free plan** - Social Login with Facebook, Google, Twitter, LinkedIn, Instagram, Vkontakte, Windows Live, Amazon, Salesforce all available in the free plan.
|
72 |
-
* **Setup in seconds** - miniOrange Social Login removes the hassle of creating your own application in all the social media. In any other social login plugin, if you are providing login with a social login application,
|
73 |
* **Icon Customizations** - Beautiful icon customisations for Social Login and Social Sharing are available in our free plan where you can use a range of UI options like shape, size and theme. You get to choose from the following shapes - square, circle, rounded and long. You get to choose from the following themes - default, filled background, without background. Additionally you can customize the curve of the long buttons.
|
74 |
* **Free Support** - Social Login, Social Sharing plugin has in-plugin support available. Sending us a query is just a button-lick away.
|
75 |
|
@@ -129,6 +129,16 @@ For more support or info email us at info@miniorange.com or <a href="https://www
|
|
129 |
|
130 |
== Frequently Asked Questions ==
|
131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
= I need login with other Social Login apps like Pinterest, Yahoo, Paypal etc. ? =
|
133 |
Please email us at info@miniorange.com. You can also submit your app request from plugin's configuration page.
|
134 |
|
@@ -166,6 +176,18 @@ Please email us at info@miniorange.com. You can also submit your query from the
|
|
166 |
|
167 |
|
168 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
= 7.0.3 =
|
170 |
* "Malformed URL" issue fixed for custom apps
|
171 |
* Added Customizable text for account linking, profile completion and OTP verification form.
|
@@ -566,6 +588,18 @@ Please email us at info@miniorange.com. You can also submit your query from the
|
|
566 |
* First version of Social Login, Social Sharing plugin.
|
567 |
|
568 |
== Upgrade Notice ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
569 |
= 7.0.3 =
|
570 |
* "Malformed URL" issue fixed for custom apps
|
571 |
* Added Customizable text for account linking, profile completion and OTP verification form.
|
1 |
=== WordPress Social Login (Facebook, Google, Twitter) ===
|
2 |
+
Contributors: vkontakte, sociallogin, cyberlord92
|
3 |
Donate link: https://www.miniorange.com
|
4 |
+
Tags: social login, facebook login, google login, twitter login, Vkontakte login, social, facebook, twitter, google, login, google, social connect, social network login, social plugin, Vkontakte, LinkedIn
|
5 |
Requires at least: 2.0.2
|
6 |
Tested up to: 4.9.8
|
7 |
+
Stable tag: 7.1.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
16 |
|
17 |
= Free Social Login Features =
|
18 |
|
|
|
19 |
* Social Login with Facebook, Google, Twitter, Vkontakte, LinkedIn, Instagram, Amazon, Windows Live & Salesforce
|
20 |
* **NO SETUP required for default social login apps.**
|
21 |
+
* Setup your own social login application with APP ID and APP Secret for Facebook, Twitter.
|
22 |
* **Preview is available for Social Login icons**
|
23 |
* **Icon Customizations** - customize shape, theme, space & size of social login icons.
|
|
|
24 |
* **Profile completion** (username, email) - Prompt user for email & username if social login app doesn't return it. Email is verified with verification code.
|
25 |
* **Assign Roles to users** - Assign WordPress roles to users logging in with social login application.
|
|
|
|
|
26 |
* Add the Social Login Icons on: login page, registration page, comment form or anywhere on your site using our Social Login widget/ shortcode.
|
27 |
* Sync Social Profile Picture with WordPress.
|
28 |
* Enable Email Notification to admin when user registers with social login application.
|
46 |
|
47 |
= Premium Social Login Features =
|
48 |
|
49 |
+
* GDPR compliant Social Login.
|
50 |
+
* **Account Linking** - Link social account to WordPress account
|
51 |
+
* **Woocommerce display options** - Enable social login icons on the Woocommerce Checkout, Login, Registration pages.
|
52 |
+
* **BuddyPress display options** - Enable Social login icons on BuddyPress Registration & Account pages.
|
53 |
* All social login free version features
|
54 |
* **Enable your own social login application with APP ID and APP Secret for Facebook, Google, Twitter, Vkontakte, LinkedIn, Instagram, Amazon, Windows Live & Salesforce **[Premium]**
|
55 |
* **Woocommerce Integration [Premium]** - Auto-fill first name, last name and email in billing details of a user logging in with social login application.
|
69 |
|
70 |
= How is this plugin better than other plugins available =
|
71 |
* **Support for 9 apps in free plan** - Social Login with Facebook, Google, Twitter, LinkedIn, Instagram, Vkontakte, Windows Live, Amazon, Salesforce all available in the free plan.
|
72 |
+
* **Setup in seconds** - miniOrange Social Login removes the hassle of creating your own application in all the social media. In any other social login plugin, if you are providing login with a social login application, google for example, you will need an App ID for which you will need to create an entire application in google. So if you want to provide login with 10 different social applications then you need to go and create 10 applications in those social platforms. Using our plugin, Social Login, Social Sharing by miniOrange, you do not need to do that. Just by creating one registration with us, you get Social login plus other features.
|
73 |
* **Icon Customizations** - Beautiful icon customisations for Social Login and Social Sharing are available in our free plan where you can use a range of UI options like shape, size and theme. You get to choose from the following shapes - square, circle, rounded and long. You get to choose from the following themes - default, filled background, without background. Additionally you can customize the curve of the long buttons.
|
74 |
* **Free Support** - Social Login, Social Sharing plugin has in-plugin support available. Sending us a query is just a button-lick away.
|
75 |
|
129 |
|
130 |
== Frequently Asked Questions ==
|
131 |
|
132 |
+
= What are the steps to download and activate the social login premium plugin? =
|
133 |
+
Please follow the steps given below to download and activate the social login premium plugin:
|
134 |
+
1. Login to miniOrange dashboard here.
|
135 |
+
2. Click on License option on the left-hand menu.
|
136 |
+
3. You will see the download the social login premium plugin link Click on Download Plugin and extract the zip.
|
137 |
+
4. Do not delete the older files just replace the old plugin files with the new plugin.
|
138 |
+
5. To activate the newly installed plugin you need a license key. Click on View License Key button in the License option on the left-hand menu of the miniOrange dashboard.
|
139 |
+
6. Copy the Licence key.
|
140 |
+
7. Go to miniOrange Social Login Plugin on the WordPress dashboard and after login in the plugin, it will ask for the license key paste the license key which you copied from the miniOrange dashboard.
|
141 |
+
|
142 |
= I need login with other Social Login apps like Pinterest, Yahoo, Paypal etc. ? =
|
143 |
Please email us at info@miniorange.com. You can also submit your app request from plugin's configuration page.
|
144 |
|
176 |
|
177 |
|
178 |
== Changelog ==
|
179 |
+
= 7.1.0 =
|
180 |
+
* Added plugin tour buttons to give an overview of features
|
181 |
+
* Updated registration flow for better visibility
|
182 |
+
* Updated custom apps to prefill scopes with default values to reduce confusion
|
183 |
+
* Fixed auto user creation issue for Facebook
|
184 |
+
|
185 |
+
= 7.0.5 =
|
186 |
+
* Social Login plugin Description Update.
|
187 |
+
|
188 |
+
= 7.0.4 =
|
189 |
+
* Social login redirect issue fixed.
|
190 |
+
|
191 |
= 7.0.3 =
|
192 |
* "Malformed URL" issue fixed for custom apps
|
193 |
* Added Customizable text for account linking, profile completion and OTP verification form.
|
588 |
* First version of Social Login, Social Sharing plugin.
|
589 |
|
590 |
== Upgrade Notice ==
|
591 |
+
= 7.1.0 =
|
592 |
+
* Added plugin tour buttons to give an overview of features
|
593 |
+
* Updated registration flow for better visibility
|
594 |
+
* Updated custom apps to prefill scopes with default values to reduce confusion
|
595 |
+
* Fixed auto user creation issue for Facebook
|
596 |
+
|
597 |
+
= 7.0.5 =
|
598 |
+
* Social Login plugin Description Update.
|
599 |
+
|
600 |
+
= 7.0.4 =
|
601 |
+
* Social login redirect issue fixed.
|
602 |
+
|
603 |
= 7.0.3 =
|
604 |
* "Malformed URL" issue fixed for custom apps
|
605 |
* Added Customizable text for account linking, profile completion and OTP verification form.
|
uninstall.php
CHANGED
@@ -183,6 +183,9 @@ delete_option( 'mo_account_linking_new_user_instruction');
|
|
183 |
delete_option( 'mo_account_linking_existing_user_instruction');
|
184 |
delete_option( 'mo_account_linking_extra_instruction');
|
185 |
|
186 |
-
|
|
|
|
|
|
|
187 |
delete_option( 'mo_openid_feedback_form' );
|
188 |
?>
|
183 |
delete_option( 'mo_account_linking_existing_user_instruction');
|
184 |
delete_option( 'mo_account_linking_extra_instruction');
|
185 |
|
186 |
+
delete_option( 'regi_pop_up' );
|
187 |
+
delete_option( 'pop_regi_msg' );
|
188 |
+
delete_option( 'pop_login_msg' );
|
189 |
+
delete_option('mo_openid_tour');
|
190 |
delete_option( 'mo_openid_feedback_form' );
|
191 |
?>
|