PluginProbe
AI Builder – Generate pages, blocks, images & translate with AI / 2.7.2
AI Builder – Generate pages, blocks, images & translate with AI v2.7.2
2.7.10 2.7.9 2.7.8 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.3.10 All 122 releases
ai-builder / admin / pages / account.php

account.php in AI Builder – Generate pages, blocks, images & translate with AI 2.7.2, at admin/pages/account.php

442 lines 22.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if (!defined('ABSPATH'))
3 exit; // Exit if accessed directly
4
5 // Vérifier si l'utilisateur a déjà un token JWT
6 $jwt_token = get_option('aibui_jwt_token', '');
7 $user_successful_signup = get_option('aibui_user_successful_signup', false);
8
9 // Déterminer quelle vue afficher
10 $show_signup = empty($jwt_token) && !$user_successful_signup;
11 $show_signin = empty($jwt_token) && $user_successful_signup;
12 $show_dashboard = !empty($jwt_token);
13
14 // Si on est sur le dashboard mais qu'il n'y a pas de token, rediriger vers la connexion
15 if ($show_dashboard && empty($jwt_token)) {
16 $show_dashboard = false;
17 $show_signin = true;
18 }
19 ?>
20
21 <?php if (function_exists('aibui_render_onboarding_blocks')) { aibui_render_onboarding_blocks(); } ?>
22
23
24 <!-- Cloudflare Turnstile -->
25
26 <div class="ai-auth-container ai-fade-in<?php echo $show_dashboard ? ' ai-auth-container--dashboard' : ''; ?>">
27 <?php if ($show_signup): ?>
28 <!-- Formulaire d'inscription -->
29 <div class="ai-auth-header">
30 <h2>Create Account</h2>
31 <p>Join us to start building amazing content</p>
32 </div>
33
34 <form class="ai-auth-form" id="signup-form">
35 <div class="ai-form-group">
36 <label for="signup-email">Email Address</label>
37 <input type="email" id="signup-email" name="email" required>
38 </div>
39
40 <div class="ai-form-group">
41 <label for="signup-password">Password</label>
42 <input type="password" id="signup-password" name="password" required minlength="8">
43 </div>
44
45 <div class="ai-form-group">
46 <label for="signup-confirm-password">Confirm Password</label>
47 <input type="password" id="signup-confirm-password" name="confirm_password" required minlength="8">
48 </div>
49
50 <div class="ai-form-group ai-checkbox-group" style="padding: 10px;">
51 <label class="ai-checkbox-label" style=" padding: 5px;">
52 <input type="checkbox" id="terms-checkbox" name="terms_accepted" required>
53 <span class="ai-checkbox-custom"></span>
54 <span class="ai-checkbox-text">
55 I agree to the
56 <a href="https://website-ai-builder.com/index.php/terms-of-use/" target="_blank"
57 class="ai-link">Terms of
58 Service</a>
59 and
60 <a href="https://website-ai-builder.com/index.php/terms-and-conditions-of-sale/" target="_blank"
61 class="ai-link">Privacy
62 Policy</a>
63 </span>
64 </label>
65 </div>
66
67 <div class="ai-form-group ai-promo-wrap">
68 <button type="button" class="ai-promo-toggle-btn" aria-expanded="false">
69 Add a code
70 </button>
71 <div class="ai-promo-panel" hidden>
72 <label for="signup-promo-input" class="ai-promo-label">Promo code</label>
73 <div class="ai-promo-row">
74 <input type="text" id="signup-promo-input" name="promo_code_input" class="ai-promo-input"
75 autocomplete="off" placeholder="Enter your code" spellcheck="false">
76 <button type="button" class="ai-promo-validate-btn">Validate</button>
77 </div>
78 <p class="ai-promo-feedback" role="status" aria-live="polite"></p>
79 </div>
80 </div>
81
82 <!-- <div class="ai-form-group">
83 <div id="cf-turnstile-signup" class="cf-turnstile" data-sitekey="VOTRE_CLE_SITE_TURNSTILE"></div>
84 </div> -->
85
86 <button type="submit" class="ai-submit-btn" id="signup-btn">
87 <span class="ai-loading" style="display: none;"></span>
88 Create Account
89 </button>
90 </form>
91
92 <div class="ai-toggle-form">
93 <button type="button" onclick="toggleForm('signin')">Already have an account? Sign in</button>
94 </div>
95
96 <?php elseif ($show_signin): ?>
97 <!-- Formulaire de connexion -->
98 <div class="ai-auth-header">
99 <h2>Welcome Back</h2>
100 <p>Sign in to your account</p>
101 </div>
102
103 <form class="ai-auth-form" id="signin-form">
104 <div class="ai-form-group">
105 <label for="signin-email" style="color: #232222; font-size: 14px;">Email Address</label>
106 <input type="email" id="signin-email" name="email" style="background-color: #ffffff;" required>
107 </div>
108
109 <div class="ai-form-group">
110 <label for="signin-password" style="color: #232222;">Password</label>
111 <input type="password" id="signin-password" name="password" style="background-color: #ffffff;" required>
112 </div>
113
114 <div class="ai-forgot-password">
115 <a href="<?php echo esc_url(admin_url('admin.php?page=aibui-reset-password')); ?>" class="ai-link">
116 Forgot your password?
117 </a>
118 </div>
119
120 <!-- <div class="ai-form-group">
121 <div id="cf-turnstile-signin" class="cf-turnstile" data-sitekey="VOTRE_CLE_SITE_TURNSTILE"></div>
122 </div> -->
123
124 <button type="submit" class="ai-submit-btn" id="signin-btn">
125 <span class="ai-loading" style="display: none;"></span>
126 Sign In
127 </button>
128 </form>
129
130 <div class="ai-toggle-form">
131 <button type="button" onclick="toggleForm('signup')">Don't have an account? Sign up</button>
132 </div>
133
134 <?php else: ?>
135 <!-- Dashboard utilisateur connecté -->
136 <div class="ai-auth-header">
137 <h2>Account Dashboard</h2>
138 <p>Welcome back! Here's your account overview</p>
139 <p class="ai-account-email" id="account-email">Loading...</p>
140 </div>
141
142 <div class="ai-dashboard-content">
143 <!-- Informations du plan -->
144 <div class="ai-dashboard-card">
145 <div class="ai-card-header">
146 <div class="ai-card-icon">
147 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
148 <path d="M12 2L2 7L12 12L22 7L12 2Z" stroke="currentColor" stroke-width="2"
149 stroke-linejoin="round" />
150 <path d="M2 17L12 22L22 17" stroke="currentColor" stroke-width="2" stroke-linejoin="round" />
151 <path d="M2 12L12 17L22 12" stroke="currentColor" stroke-width="2" stroke-linejoin="round" />
152 </svg>
153 </div>
154 <div class="ai-card-title">
155 <h3>Current Plan</h3>
156 <div class="ai-plan-badge" id="plan-badge">
157 <span class="ai-loading" style="display: none;"></span>
158 Loading...
159 </div>
160 </div>
161 </div>
162 <div class="ai-card-content">
163 <p>Your subscription plan determines your monthly credits and features.</p>
164 <button type="button" class="ai-secondary-btn"
165 onclick="window.location.href='<?php echo esc_url(admin_url('admin.php?page=aibui-credits')); ?>'">
166 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
167 <path
168 d="M11 4H4C3.46957 4 2.96086 4.21071 2.58579 4.58579C2.21071 4.96086 2 5.46957 2 6V20C2 20.5304 2.21071 21.0391 2.58579 21.4142C2.96086 21.7893 3.46957 22 4 22H18C18.5304 22 19.0391 21.7893 19.4142 21.4142C19.7893 21.0391 20 20.5304 20 20V13"
169 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
170 <path
171 d="M18.5 2.5C18.8978 2.10217 19.4374 1.87868 20 1.87868C20.5626 1.87868 21.1022 2.10217 21.5 2.5C21.8978 2.89782 22.1213 3.43739 22.1213 4C22.1213 4.56261 21.8978 5.10217 21.5 5.5L12 15L8 16L9 12L18.5 2.5Z"
172 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
173 </svg>
174 Change Plan
175 </button>
176 </div>
177 </div>
178
179 <!-- Section Tuto -->
180 <div class="ai-dashboard-card">
181 <div class="ai-card-header">
182 <div class="ai-card-icon">
183 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
184 <path
185 d="M4 19.5V5.5C4 4.67157 4.67157 4 5.5 4H18.5C19.3284 4 20 4.67157 20 5.5V19.5C20 20.3284 19.3284 21 18.5 21H5.5C4.67157 21 4 20.3284 4 19.5Z"
186 stroke="currentColor" stroke-width="2" stroke-linejoin="round" />
187 <path d="M8 8H16" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
188 <path d="M8 12H16" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
189 <path d="M8 16H12" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
190 </svg>
191 </div>
192 <div class="ai-card-title">
193 <h3>How to use the tool?</h3>
194 <div class="ai-plan-badge tuto">
195 Tutorial
196 </div>
197 </div>
198 </div>
199 <div class="ai-card-content">
200 <p>Discover all the features and learn how to use AI Builder efficiently.</p>
201 <button type="button" class="ai-secondary-btn"
202 onclick="window.location.href='<?php echo esc_url(admin_url('admin.php?page=aibui-tuto')); ?>'">
203 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
204 <path d="M12 4V20" stroke="currentColor" stroke-width="2" stroke-linecap="round"
205 stroke-linejoin="round" />
206 <path d="M5 12H19" stroke="currentColor" stroke-width="2" stroke-linecap="round"
207 stroke-linejoin="round" />
208 </svg>
209 See Tutorial
210 </button>
211 </div>
212 </div>
213
214 <!-- Informations des crédits -->
215 <div class="ai-dashboard-card">
216 <div class="ai-card-header">
217 <div class="ai-card-icon">
218 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
219 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="2" />
220 <path d="M12 6V12L16 14" stroke="currentColor" stroke-width="2" stroke-linecap="round"
221 stroke-linejoin="round" />
222 </svg>
223 </div>
224 <div class="ai-card-title">
225 <h3>AI Credits</h3>
226 <div class="ai-credits-display" id="credits-display">
227 <span class="ai-loading" style="display: none;"></span>
228 Loading...
229 </div>
230 </div>
231 </div>
232 <div class="ai-card-content">
233 <div class="ai-credits-breakdown" id="credits-breakdown">
234 <div class="ai-credit-item">
235 <span class="ai-credit-label">Free credits:</span>
236 <span class="ai-credit-value" id="creation-credits">-</span>
237 </div>
238 <div class="ai-credit-item">
239 <span class="ai-credit-label">Monthly subscription:</span>
240 <span class="ai-credit-value" id="monthly-credits">-</span>
241 </div>
242 <div class="ai-credit-item">
243 <span class="ai-credit-label">Paid credits:</span>
244 <span class="ai-credit-value" id="paid-credits">-</span>
245 </div>
246 </div>
247 <button type="button" class="ai-primary-btn"
248 onclick="window.location.href='<?php echo esc_url(admin_url('admin.php?page=aibui-credits')); ?>'">
249 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
250 <path d="M12 2V6" stroke="currentColor" stroke-width="2" stroke-linecap="round"
251 stroke-linejoin="round" />
252 <path d="M12 18V22" stroke="currentColor" stroke-width="2" stroke-linecap="round"
253 stroke-linejoin="round" />
254 <path d="M4.93 4.93L7.76 7.76" stroke="currentColor" stroke-width="2" stroke-linecap="round"
255 stroke-linejoin="round" />
256 <path d="M16.24 16.24L19.07 19.07" stroke="currentColor" stroke-width="2" stroke-linecap="round"
257 stroke-linejoin="round" />
258 <path d="M2 12H6" stroke="currentColor" stroke-width="2" stroke-linecap="round"
259 stroke-linejoin="round" />
260 <path d="M18 12H22" stroke="currentColor" stroke-width="2" stroke-linecap="round"
261 stroke-linejoin="round" />
262 <path d="M4.93 19.07L7.76 16.24" stroke="currentColor" stroke-width="2" stroke-linecap="round"
263 stroke-linejoin="round" />
264 <path d="M16.24 7.76L19.07 4.93" stroke="currentColor" stroke-width="2" stroke-linecap="round"
265 stroke-linejoin="round" />
266 </svg>
267 Buy More Credits
268 </button>
269 </div>
270 </div>
271
272 <!-- Feedback / Help us improve -->
273 <div class="ai-dashboard-card">
274 <div class="ai-card-header">
275 <div class="ai-card-icon">
276 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
277 <path d="M3 11C3 6.58172 6.58172 3 11 3H13C17.4183 3 21 6.58172 21 11V21H11C6.58172 21 3 17.4183 3 13V11Z"
278 stroke="currentColor" stroke-width="2" stroke-linejoin="round" />
279 <path d="M8 10H16" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
280 <path d="M8 14H13" stroke="currentColor" stroke-width="2" stroke-linecap="round" />
281 </svg>
282 </div>
283 <div class="ai-card-title">
284 <h3>Help us improve</h3>
285 <div class="ai-plan-badge tuto">
286 Feedback
287 </div>
288 </div>
289 </div>
290 <div class="ai-card-content">
291 <p>Your feedback shapes the next versions of AI Builder. Share what you love, what's missing or any bug you spotted it only takes a minute.</p>
292 <a href="https://tally.so/r/ob0EaM" target="_blank" rel="noopener noreferrer"
293 class="ai-secondary-btn ai-feedback-btn">
294 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
295 <path d="M21 15C21 15.5304 20.7893 16.0391 20.4142 16.4142C20.0391 16.7893 19.5304 17 19 17H7L3 21V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H19C19.5304 3 20.0391 3.21071 20.4142 3.58579C20.7893 3.96086 21 4.46957 21 5V15Z"
296 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
297 </svg>
298 Share your feedback
299 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"
300 style="margin-left: 2px;">
301 <path d="M7 17L17 7" stroke="currentColor" stroke-width="2" stroke-linecap="round"
302 stroke-linejoin="round" />
303 <path d="M8 7H17V16" stroke="currentColor" stroke-width="2" stroke-linecap="round"
304 stroke-linejoin="round" />
305 </svg>
306 </a>
307 </div>
308 </div>
309
310 <!-- Actions du compte -->
311 <div class="ai-dashboard-actions">
312 <button type="button" class="ai-submit-btn ai-signout-btn" onclick="signOut()">
313 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
314 <path
315 d="M9 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V5C3 4.46957 3.21071 3.96086 3.58579 3.58579C3.96086 3.21071 4.46957 3 5 3H9"
316 stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
317 <path d="M16 17L21 12L16 7" stroke="currentColor" stroke-width="2" stroke-linecap="round"
318 stroke-linejoin="round" />
319 <path d="M21 12H9" stroke="currentColor" stroke-width="2" stroke-linecap="round"
320 stroke-linejoin="round" />
321 </svg>
322 Sign Out
323 </button>
324 </div>
325 </div>
326 <?php endif; ?>
327
328 <div id="message-container"></div>
329 </div>
330
331 <!-- Formulaire caché pour l'inscription -->
332 <div class="ai-form-hidden" id="hidden-signup-form">
333 <div class="ai-auth-header">
334 <h2>Create Account</h2>
335 <p>Join us to start building amazing content</p>
336 </div>
337
338 <form class="ai-auth-form" id="hidden-signup-form-element">
339 <div class="ai-form-group">
340 <label for="hidden-signup-email" style="color: #232222; font-size: 14px;">Email Address</label>
341 <input type="email" id="hidden-signup-email" name="email" style="background-color: #ffffff;" required>
342 </div>
343
344 <div class="ai-form-group">
345 <label for="hidden-signup-password" style="color: #232222; font-size: 14px;">Password</label>
346 <input type="password" id="hidden-signup-password" name="password" style="background-color: #ffffff;"
347 required minlength="8">
348 </div>
349
350 <div class="ai-form-group">
351 <label for="hidden-signup-confirm-password" style="color: #232222; font-size: 14px;">Confirm
352 Password</label>
353 <input type="password" id="hidden-signup-confirm-password" name="confirm_password"
354 style="background-color: #ffffff;" required minlength="8">
355 </div>
356
357 <div class="ai-form-group ai-checkbox-group" style="padding: 10px;">
358 <label class="ai-checkbox-label" style=" padding: 5px;">
359 <input type="checkbox" id="terms-checkbox" name="terms_accepted" required>
360 <span class="ai-checkbox-custom"></span>
361 <span class="ai-checkbox-text">
362 I agree to the
363 <a href="https://website-ai-builder.com/index.php/terms-of-use/" target="_blank"
364 class="ai-link">Terms of
365 Service</a>
366 and
367 <a href="https://website-ai-builder.com/index.php/terms-and-conditions-of-sale/" target="_blank"
368 class="ai-link">Privacy
369 Policy</a>
370 </span>
371 </label>
372 </div>
373
374 <div class="ai-form-group ai-promo-wrap">
375 <button type="button" class="ai-promo-toggle-btn" aria-expanded="false">
376 Add a code
377 </button>
378 <div class="ai-promo-panel" hidden>
379 <label for="hidden-signup-promo-input" class="ai-promo-label">Promo code</label>
380 <div class="ai-promo-row">
381 <input type="text" id="hidden-signup-promo-input" name="promo_code_input" class="ai-promo-input"
382 autocomplete="off" placeholder="Enter your code" spellcheck="false">
383 <button type="button" class="ai-promo-validate-btn">Validate</button>
384 </div>
385 <p class="ai-promo-feedback" role="status" aria-live="polite"></p>
386 </div>
387 </div>
388
389 <!-- <div class="ai-form-group">
390 <div id="cf-turnstile-hidden-signup" class="cf-turnstile" data-sitekey="VOTRE_CLE_SITE_TURNSTILE"></div>
391 </div> -->
392
393 <button type="submit" class="ai-submit-btn" id="hidden-signup-btn">
394 <span class="ai-loading" style="display: none;"></span>
395 Create Account
396 </button>
397 </form>
398
399 <div class="ai-toggle-form">
400 <button type="button" onclick="toggleForm('signin')">Already have an account? Sign in</button>
401 </div>
402 </div>
403
404 <!-- Formulaire caché pour la connexion -->
405 <div class="ai-form-hidden" id="hidden-signin-form">
406 <div class="ai-auth-header">
407 <h2>Welcome Back</h2>
408 <p>Sign in to your account</p>
409 </div>
410
411 <form class="ai-auth-form" id="hidden-signin-form-element">
412 <div class="ai-form-group">
413 <label for="hidden-signin-email" style="color: #232222; font-size: 14px;">Email Address</label>
414 <input type="email" id="hidden-signin-email" name="email" style="background-color: #ffffff;" required>
415 </div>
416
417 <div class="ai-form-group">
418 <label for="hidden-signin-password" style="color: #232222; font-size: 14px;">Password</label>
419 <input type="password" id="hidden-signin-password" name="password" style="background-color: #ffffff;"
420 required>
421 </div>
422
423 <div class="ai-forgot-password">
424 <a href="<?php echo esc_url(admin_url('admin.php?page=aibui-reset-password')); ?>" class="ai-link">
425 Forgot your password?
426 </a>
427 </div>
428
429 <!-- <div class="ai-form-group">
430 <div id="cf-turnstile-hidden-signin" class="cf-turnstile" data-sitekey="VOTRE_CLE_SITE_TURNSTILE"></div>
431 </div> -->
432
433 <button type="submit" class="ai-submit-btn" id="hidden-signin-btn">
434 <span class="ai-loading" style="display: none;"></span>
435 Sign In
436 </button>
437 </form>
438
439 <div class="ai-toggle-form">
440 <button type="button" onclick="toggleForm('signup')">Don't have an account? Sign up</button>
441 </div>
442 </div>