PageSourceSearch

https://devotee.sbat.org/Products/prasadams

html sbat.org collected 2026-10-02 13:45:28 UTC 17,120 bytes, 452 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5  <meta charset="utf-8">
6  <meta name="viewport" content="width=device-width, initial-scale=1">
7  <title>SBA Temple Devotee Portal Log in</title>
8  <link rel="icon" type="image/x-icon" href="https://devotee.sbat.org/public/images/favicon.png">
9  <!-- Google Font: Source Sans Pro -->
10  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
11  <!-- Font Awesome -->
12  <link rel="stylesheet" href="https://devotee.sbat.org/public/css/all.min.css">
13  <!-- icheck bootstrap -->
14  <link rel="stylesheet" href="https://devotee.sbat.org/public/css/icheck-bootstrap.min.css">
15  <!-- Theme style -->
16  <link rel="stylesheet" href="https://devotee.sbat.org/public/css/adminlte.min.css">
17  <!-- SweetAlert2 -->
18  <link rel="stylesheet" href="https://devotee.sbat.org/public/css/sweetalert2.min.css">
vendor: 69 bytes, lines 18-20
18
19  <script src='https://www.google.com/recaptcha/api.js'></script>
20  
20<style>
21    .login-box-msg,
22    .register-box-msg {
23      padding: 0;
24    }
25
26    .submitbutton {
27      background-color: #7E4555;
28    }
29
30    .submitbutton:hover {
31      background-color: #EE4D23;
32    }
33
34body .modal-dialog { margin-left: 0; }
35  </style>
36</head>
37
38<body class="hold-transition login-page">
39
40<!--- popup --->
41<div class="modal fade" id="exampleModal"  role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
42  <div class="modal-dialog modal-md" role="document">
43    <div class="modal-content">
44      <div class="modal-header">
45          <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="position:absolute;z-index: 999">
46          <span aria-hidden="true">&times;</span>
47        </button>
48        <h5 class="col-12 modal-title text-center" id="exampleModalLabel">Important Announcement </h5>          
49      </div>
50        <div class="modal-body" style="text-align: justify">
51 
52<a class="d-none" href="#"><img style="width:95%" alt="Devotee Portal" src="https://devotee.sbat.org/public/assets/uploads/devotee_portal.jpeg" /></a>
53
54                     <div class="row p1">
55                        <div class="col-sm-12 p-1 text-left">
56Temple has sent 2022 CY Tax Statement to the registered email address. This tax statement was emailed to you between 5th February 2023 - 8th February 2023
57For families that have contributed using different email addresses, please check all email address for donation statements.
58<ul class="list-group d-none">
59  <li class="list-group-item">Click on Create Account</li>
60  <li class="list-group-item"></i>Enter your Name, Email and Phone number and click on register</li>
61  <li class="list-group-item">Check your email for the activation or password reset link (check your spam folder)</li>
62  <li class="list-group-item">If you see message, "Your email is already registered...", click on Reset Password link to generate a new password</li>
63</ul>
64
65                      </div>
66		</div>
67
68      </div>
69    </div>
70  </div>
71</div>
72
73<!-- Login with Mobile OTP -->
74<div class="modal fade" id="mobileOtpModal" tabindex="-1" role="dialog" aria-labelledby="mobileOtpModalLabel" aria-hidden="true" data-backdrop="static">
75  <div class="modal-dialog modal-dialog-centered" role="document" style="margin-left: auto; margin-right: auto; max-width: 420px;">
76    <div class="modal-content">
77      <div class="modal-header">
78        <h5 class="modal-title" id="mobileOtpModalLabel">Login with Mobile OTP</h5>
79        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
80          <span aria-hidden="true">&times;</span>
81        </button>
82      </div>
83      <div class="modal-body">
84        <div class="alert d-none" id="otpAlert" role="alert"></div>
85
86        <!-- Step 1: mobile number -->
87        <form id="otpStepMobile" novalidate>
88          <label for="otpMobile">Mobile number</label>
89          <div class="input-group mb-1">
90            <input type="tel" class="form-control" id="otpMobile" name="mobile" autocomplete="tel" placeholder="(301) 555-1234" required>
91            <div class="input-group-append">
92              <div class="input-group-text"><span class="fas fa-mobile-alt"></span></div>
93            </div>
94          </div>
95          <small class="form-text text-muted mb-3">US numbers: 10 digits. Other countries: start with + and the country code.</small>
96          <div class="mb-3" id="otpCaptcha"></div>
97          <button type="submit" class="btn submitbutton btn-block text-white" id="btnSendOtp">Send OTP</button>
98        </form>
99
100        <!-- Step 2: OTP -->
101        <form id="otpStepCode" class="d-none" novalidate>
102          <p class="mb-2" id="otpSentTo"></p>
103          <label for="otpCode">Enter OTP</label>
104          <input type="text" class="form-control mb-3" id="otpCode" name="otp" inputmode="numeric" autocomplete="one-time-code" maxlength="10" placeholder="6 digit code" required>
105          <button type="submit" class="btn submitbutton btn-block text-white" id="btnVerifyOtp">Verify OTP</button>
106          <div class="d-flex justify-content-between mt-3">
107            <a href="#" id="otpChangeMobile" style="color: #EE4D23;">Change number</a>
108            <a href="#" id="otpResend" style="color: #EE4D23;">Resend OTP</a>
109          </div>
110        </form>
111
112        <!-- Step 3: basic details for a new mobile number -->
113        <form id="otpStepRegister" class="d-none" novalidate>
114          <p class="mb-3">Your mobile number is verified. Please enter your details to continue.</p>
115          <div class="form-group">
116            <label for="otpFirstName">First name</label>
117            <input type="text" class="form-control" id="otpFirstName" name="first_name" maxlength="50" autocomplete="given-name" required>
118          </div>
119          <div class="form-group">
120            <label for="otpLastName">Last name</label>
121            <input type="text" class="form-control" id="otpLastName" name="last_name" maxlength="50" autocomplete="family-name" required>
122          </div>
123          <div class="form-group">
124            <label for="otpEmail">Email</label>
125            <input type="email" class="form-control" id="otpEmail" name="email" maxlength="100" autocomplete="email" required>
126          </div>
127          <button type="submit" class="btn submitbutton btn-block text-white" id="bt
127nOtpRegister">Continue</button>
128        </form>
129      </div>
130    </div>
131  </div>
132</div>
133
134  <div class="login-box">
135    <div class="login-logo">
136      <h1><img src="https://devotee.sbat.org/public/images/logo.png" style="width: 346px;" /></h1>
137    </div>
138    <!-- /.login-logo -->
139    <div class="card card-outline card-orange">
140      <div class=" card-header text-center">
141        <div class="login-box-msg parent">
142          <div class="center fill-remaining-space">Login</div>
143        </div>
144      </div>
145      <div class="card-body login-card-body">
146        <!-- <p class="login-box-msg">Sign in to start your session</p> -->
147                        <form action="https://devotee.sbat.org/login" method="post" class="needs-validation" novalidate>
148
149          <div class="input-group mb-3">
150            <input type="email" required class="form-control" name="email" data-toggle="popover" data-trigger="hover" data-placement="bottom" data-content="Email(Registered with the temple, if you have already registered)" autocomplete="off" id="email" value="" placeholder="Email">
151            <div class="input-group-append">
152              <div class="input-group-text">
153                <span class="fas fa-envelope"></span>
154              </div>
155            </div>
156            <div class="invalid-feedback">Please enter a valid email address.</div>
157          </div>
158          <div class="input-group mb-3">
159            <input type="password" class="form-control" required placeholder="Password" name="password" value="">
160            <div class="input-group-append">
161              <div class="input-group-text">
162                <span class="fas fa-lock"></span>
163              </div>
164            </div>
165            <div class="invalid-feedback">Please enter password.</div>
166          </div>
167          <div class="input-group mb-3">
168            <div class="g-recaptcha" data-sitekey="6LenQ_0UAAAAANQFoQ7JdbzMuPVvYWppoxiT2_zb"></div>
169          </div>
170
171          <div class="col-4">
172            <input type="submit" name="submit" class="btn submitbutton btn-block" value="Sign In">
173          </div>
174
175        </form>
176
177        <div class="text-center text-muted my-2">OR</div>
178        <button type="button" class="btn btn-outline-secondary btn-block" id="btnMobileOtp">
179          <i class="fas fa-mobile-alt mr-1"></i> Login with Mobile OTP
180        </button>
181
182<hr>
183
184<div class="row">
185  <div class="col-12 mb-2" style="padding-right: 3.5rem;">
186    <div class="d-flex">
187      <a href="https://devotee.sbat.org/resetpassword" style="float: right; color: #EE4D23;">Forgot password?</a>
188    </div>
189  </div>
190
191
192<div class="d-flex justify-content-between align-items-center p-2">
193
194
195
196
197
198  <div class='d-none'>
199    <a href="https://devotee.sbat.org/guest" style="color: #EE4D23; margin-right: 10px;">Continue As Guest</a>
200  </div>
201  <div>
202    <a href="https://devotee.sbat.org/register" style="color: #EE4D23; margin-left: 10px;">Create Account</a>
203  </div>
204</div>
205
206</div>
207
208
209        <!-- /.social-auth-links -->
210
211        <!--  <p class="mb-0">
212        <a href="register.html" class="text-center">Register a new membership</a>
213      </p> -->
214      </div>
215      <!-- /.login-card-body -->
216    </div>
217  </div>
218  <!-- /.login-box -->
219
220  <!-- jQuery -->
221  
221<script src="https://devotee.sbat.org/public/js/jquery.min.js"></script>
221
222  <!-- Bootstrap 4 -->
223  
223<script src="https://devotee.sbat.org/public/js/bootstrap.bundle.min.js"></script>
223
224  <!-- AdminLTE App -->
225  
225<script src="https://devotee.sbat.org/public/js/adminlte.min.js"></script>
225
226  
226<script src="https://devotee.sbat.org/public/js/sweetalert2.min.js"></script>
226
227  
227<script type="text/javascript">
228    (function() {
229      'use strict';
230      window.addEventListener('load', function() {
231        // Fetch all the forms we want to apply custom Bootstrap validation styles to
232        var forms = document.getElementsByClassName('needs-validation');
233
234        // Loop over them and prevent submission
235        var validation = Array.prototype.filter.call(forms, function(form) {
236          form.addEventListener('submit', function(event) {
237            if (form.checkValidity() === false) {
238              event.preventDefault();
239              event.stopPropagation();
240            }
241            form.classList.add('was-validated');
242          }, false);
243        });
244      }, false);
245    })();
246  </script>
246
247  
247<script>
248    $('#email').popover();
249  </script>
249
250  
250<script type="text/javascript">
251    /** Login with Mobile OTP */
252    (function() {
253      var otpCaptchaId = null;
254      var resendTimer = null;
255      var $modal = $('#mobileOtpModal');
256      var $alert = $('#otpAlert');
257
258      function showAlert(type, message) {
259        $alert.removeClass('d-none alert-danger alert-success alert-warning alert-info')
260          .addClass('alert-' + type).text(message);
261      }
262
263      function hideAlert() {
264        $alert.addClass('d-none').text('');
265      }
266
267      function showStep(step) {
268        $('#otpStepMobile, #otpStepCode, #otpStepRegister').addClass('d-none');
269        $(step).removeClass('d-none');
270      }
271
272      function resetCaptcha() {
273        if (otpCaptchaId !== null && window.grecaptcha) {
274          grecaptcha.reset(otpCaptchaId);
275        }
276      }
277
278      function startResendTimer(seconds) {
279        var $link = $('#otpResend');
280        clearInterval(resendTimer);
281        $link.addClass('disabled').css('pointer-events', 'none');
282        resendTimer = setInterval(function() {
283          seconds--;
284          if (seconds <= 0) {
285            clearInterval(resendTimer);
286            $link.removeClass('disabled').css('pointer-events', '').text('Resend OTP');
287          } else {
288            $link.text('Resend OTP in ' + seconds + 's');
289          }
290        }, 1000);
291        $link.text('Resend OTP in ' + seconds + 's');
292      }
293
294      function post(url, data, $button) {
295        var label = $button.text();
296        $button.prop('disabled', true).text('Please wait...');
297        return $.ajax({
298          url: url,
299          method: 'POST',
300          data: data,
301          dataType: 'json'
302        }).always(function() {
303          $button.prop('disabled', false).text(label);
304        }).fail(function() {
305          showAlert('danger', 'Something went wrong. Please try again.');
306        });
307      }
308
309      function handleCommon(res) {
310        if (res.status === 'success' && res.redirect) {
311          window.location.href = res.redirect;
312          return true;
313        }
314        if (res.status === 'landline') {
315          showStep('#otpStepMobile');
316          resetCaptcha();
317          showAlert('warning', res.message);
318          return true;
319        }
320        if (res.status === 'expired') {
321          showStep('#otpStepMobile');
322          resetCaptcha();
323          showAlert('danger', res.message);
324          return true;
325        }
326        return false;
327      }
328
329      $('#btnMobileOtp').on('click', function() {
330        hideAlert();
331        showStep('#otpStepMobile');
332        $modal.modal('show');
333      });
334
335      $modal.on('shown.bs.modal', function() {
336        if (otpCaptchaId === null && window.grecaptcha && grecaptcha.render) {
337          otpCaptchaId = grecaptcha.render('otpCaptcha', {
338            sitekey: '6LenQ_0UAAAAANQFoQ7JdbzMuPVvYWppoxiT2_zb'
339          });
340        }
341        $('#otpMobile').trigger('focus');
342      });
343
344      function sendOtp($button) {
345        hideAlert();
346        var mobile = $.trim($('#otpMobile').val());
347        if (!mobile) {
348          showAlert('danger', 'Please enter your mobile number.');
349          return;
350        }
351        var captcha = otpCaptchaId !== null ? grecaptcha.getResponse(otpCaptchaId) : '';
352        if (!captcha) {
353          showAlert('danger', 'Please check the captcha checkbox.');
354          return;
355        }
356        post('https://devotee.sbat.org/login/sendOtp', {
357          mobile: mobile,
358          'g-recaptcha-response': captcha
359        }, $button).done(function(res) {
360          if (handleCommon(res)) return;
361          if (res.status === 'sent') {
362            $('#otpSentTo').text(res.message);
363            $('#otpCode').val('');
364            showStep('#otpStepCode');
365            startResendTimer(res.resendAfter || 30);
366            $('#otpCode').trigger('focus');
367            return;
368          }
369          if (res.resetCaptcha) resetCaptcha();
370          showAlert('danger', res.message);
371        });
372      }
373
374      $('#otpStepMobile').on('submit', function(e) {
375        e.preventDefault();
376        sendOtp($('#btnSendOtp'));
377      });
378
379      $('#otpResend').on('click', function(e) {
380        e.preventDefault();
381        // A new OTP needs a fresh captcha
382        hideAlert();
383        resetCaptcha();
384        showStep('#otpStepMobile');
385        showAlert('info', 'Please complete the captcha and click Send OTP to get a new code.');
386      });
387
388      $('#otpChangeMobile').on('click', function(e) {
389        e.preventDefault();
390        hideAlert();
391        resetCaptcha();
392        showStep('#otpStepMobile');
393        $('#otpMobile').trigger('focus').select();
394      });
395
396      $('#otpStepCode').on('submit', function(e) {
397        e.preventDefault();
398        hideAlert();
399        var otp = $.trim($('#otpCode').val());
400        if (!otp) {
401          showAlert('danger', 'Please enter the OTP sent to your mobile number.');
402          return;
403        }
404        post('https://devotee.sbat.org/login/verifyOtp', {
405          otp: otp
406        }, $('#btnVerifyOtp')).done(function(res) {
407          if (handleCommon(res)) return;
408          if (res.status === 'register') {
409            showStep('#otpStepRegister');
410            showAlert('success', res.message);
411            $('#otpFirstName').trigger('focus');
412            return;
413          }
414          showAlert('danger', res.message);
415        });
416      });
417
418      $('#otpStepRegister').on('submit', function(e) {
419        e.preventDefault();
420        hideAlert();
421        if (this.checkValidity() === false) {
422          $(this).addClass('was-validated');
423          showAlert('danger', 'Please enter your first name, last name and a valid email.');
424          return;
425        }
426        post('https://devotee.sbat.org/login/otpRegister', {
427          first_name: $.trim($('#otpFirstName').val()),
428          last_name: $.trim($('#otpLastName').val()),
429          email: $.trim($('#otpEmail').val())
430        }, $('#btnOtpRegister')).done(function(res) {
431          if (handleCommon(res)) return;
432          showAlert('danger', res.message);
433        });
434      });
435    })();
436  </script>
436
437  
437<script type="text/javascript">
438    /** Code for when user in after click on back button it will not go to login page */
439    window.history.pushState(null, null, window.location.href);
440    window.onpopstate = function() {
441      window.history.go(1);
442    };
443  </script>
443
444
445     </body>
446<script type="text/javascript">
447    $(window).on('load', function() {
448        $('#exampleModal').modal('hide');
449    });
450</script>
450
451
452</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.