Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/vhost/lhvpraktani.in/phire-dekha-2026/resources/views/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/vhost/lhvpraktani.in/phire-dekha-2026/resources/views/register.blade.php
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <title>LHV Alumni Reunion Registration</title>
  <style>
    body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;background:#f6f8fb;}
    .wrap{max-width:980px;margin:0 auto;padding:24px;}
    .card{background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:hidden;}
    .top{display:flex;align-items:center;gap:16px;padding:18px 20px;background:linear-gradient(90deg,#0d3b66,#1e6bb8);color:#fff;}
    .logo{width:54px;height:54px;border-radius:12px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-weight:800;}
    .banner h1{margin:0;font-size:20px;}
    .banner p{margin:4px 0 0;opacity:.9;font-size:13px;}
    form{padding:20px;}
    .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
    label{font-size:12px;color:#334155;font-weight:600;display:block;margin-bottom:6px;}
    input,select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px;background:#fff;}
    .row{margin-top:10px;}
    .full{grid-column:1/-1;}
    .radio{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
    .radio label{margin:0;font-weight:600;color:#0f172a;}
    .note{font-size:12px;color:#475569;}
    .total{padding:14px 16px;background:#f1f5f9;border:1px dashed #94a3b8;border-radius:12px;display:flex;justify-content:space-between;align-items:center;}
    .total strong{font-size:18px;}
    .actions{display:flex;gap:12px;align-items:center;margin-top:14px;}
    button{padding:12px 16px;border:0;border-radius:12px;background:#0d3b66;color:#fff;font-weight:700;cursor:pointer;}
    button:hover{opacity:.95;}
    .msg{padding:12px 16px;border-radius:12px;margin:14px 0;}
    .ok{background:#ecfdf5;border:1px solid #34d399;color:#065f46;}
    .err{background:#fef2f2;border:1px solid #fca5a5;color:#7f1d1d;}
    .badge{display:inline-block;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px;margin-left:8px;}
    @media(max-width:720px){.grid{grid-template-columns:1fr;}}
  </style>
</head>
<body>
  <div class="wrap">
    <div class="card">
      <div class="top">
        <div class="logo"> <img src="{{ asset('images/LHVP-New-Logo.jpg') }}" height="50" width="50" /> </div>
        <div class="banner">
          <h1>Phire Dekha 2026 <span class="badge">18 Jan 2026</span></h1>
          <p>Fill this form to register for the upcoming reunion. Upload payment screenshot to complete.</p>
        </div>
      </div>
	  
      <form method="post" action="{{ route('register.store') }}" enctype="multipart/form-data" id="regForm">
        @csrf

        @if (session('success'))
          <div class="msg ok">
            <strong>{{ session('success') }}</strong>
            @if (session('receipt'))
              <div class="note" style="margin-top:6px;">
                Name: {{ session('receipt.name') }} | Phone: {{ session('receipt.phone') }} | Paid: ₹{{ session('receipt.grand_total') }}
              </div>
            @endif
          </div>
        @endif

        @if ($errors->any())
          <div class="msg err">
            <strong>Please fix these:</strong>
            <ul style="margin:8px 0 0 18px;">
              @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
              @endforeach
            </ul>
          </div>
        @endif

        <div class="grid">
          <div>
            <label>Full Name</label>
            <input type="text" name="full_name" value="{{ old('full_name') }}" required style="width: 90%;" />
          </div>

          <div>
            <label>Phone Number (WhatsApp) – 10 digits only</label>
            <input type="text" name="phone" id="phone" inputmode="numeric" maxlength="10" value="{{ old('phone') }}" placeholder="10-digit number" required />
            <div class="note" id="phoneHint" style="margin-top:6px;"></div>
          </div>

          <div>
            <label>Passing Year</label>
            <select name="passing_year" id="passing_year" required>
              @foreach($years as $y)
                <option value="{{ $y }}" @selected(old('passing_year') == $y)>{{ $y }}</option>
              @endforeach
            </select>
          </div>

          <div>
            <label>Guest (0 to 10)</label>
            <select name="guests" id="guests" required>
              @for($i=0;$i<=10;$i++)
                <option value="{{ $i }}" @selected(old('guests',0) == $i)>{{ $i }}</option>
              @endfor
            </select>
			<div class="note" style="margin-top:6px;">Per Person Rs. 500</div>
          </div>

          <div class="full">
            <label>Participation Type</label>
            <div class="radio">
              <label><input type="radio" name="participation_type" value="full_time" id="pt_full" {{ old('participation_type','full_time')==='full_time'?'checked':'' }} /> Full Time (default)</label>
              <label><input type="radio" name="participation_type" value="till_noon" id="pt_noon" {{ old('participation_type')==='till_noon'?'checked':'' }} /> Till Noon (Breakfast only)</label>
            </div>
          </div>

          <div class="full">
            <label>Food Type</label>
            <div class="radio">
              <label><input type="radio" name="food_type" value="non_veg" {{ old('food_type','non_veg')==='non_veg'?'checked':'' }} /> Non-Veg (default)</label>
              <label><input type="radio" name="food_type" value="veg" {{ old('food_type')==='veg'?'checked':'' }} /> Veg</label>
            </div>
          </div>

          <div class="full">
            <label>Upload Payment Screenshot (Image)</label>
            <input type="file" name="payment_screenshot" accept="image/*" required />
            <div class="note">Accepted: JPG/PNG/WebP etc. Max 5MB.</div>
          </div>

          <div class="full">
            <div class="total">
              <div>
                <div class="note" id="feeBreakdown">Base: ₹0 | Discount: ₹0 | Guests: ₹0</div>
                <div style="margin-top:4px;">Grand Total Payable</div>
              </div>
              <strong id="grandTotal">₹0</strong>
            </div>
          </div>

          <div class="full" style="margin-top:6px;">
            <label>
              <input type="checkbox" id="disclaimer" required />
              I confirm the information is correct and I agree to the reunion participation rules and payment terms.
            </label>
          </div>
        </div>

        <div class="actions">
          <button type="submit">Submit Registration</button>
          <div class="note">Discount (₹300) applies only for <b>Full Time</b> if phone exists in alumni table.</div>
        </div>
      </form>
    </div>
  </div>

<script>
(function(){
  const phoneEl = document.getElementById('phone');
  const yearEl = document.getElementById('passing_year');
  const guestsEl = document.getElementById('guests');
  const ptFull = document.getElementById('pt_full');
  const ptNoon = document.getElementById('pt_noon');
  const grandEl = document.getElementById('grandTotal');
  const breakdownEl = document.getElementById('feeBreakdown');
  const hintEl = document.getElementById('phoneHint');

  let phoneExists = false;

  function onlyDigits10(val){
    return (val || '').replace(/\D/g,'').slice(0,10);
  }

  function baseFee(pt, year){
    const y = parseInt(year,10);
    const old = y < 2015;
    if(pt==='full_time' && old) return 1000;
    if(pt==='till_noon' && old) return 500;
    if(pt==='full_time' && !old) return 500;
    return 300; // till_noon + year>=2015
  }

  async function checkPhone(){
    const phone = onlyDigits10(phoneEl.value);
    phoneEl.value = phone;
    phoneExists = false;
    hintEl.textContent = '';

    // Only check if 10 digits
    if(phone.length !== 10) {
      updateTotal();
      return;
    }

    try{
      const res = await fetch("{{ route('register.checkPhone') }}", {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'X-CSRF-TOKEN': "{{ csrf_token() }}"
        },
        body: JSON.stringify({ phone })
      });
      const data = await res.json();
      phoneExists = !!data.exists;
      if(phoneExists){
        hintEl.textContent = '✅ Discount available for your participation in cricket tournament.';
      }
    }catch(e){
      // silently ignore
    }

    updateTotal();
  }

  function currentParticipation(){
    return ptFull.checked ? 'full_time' : 'till_noon';
  }

  function updateTotal(){
    const pt = currentParticipation();
    const year = parseInt(yearEl.value,10);
    const guests = parseInt(guestsEl.value,10) || 0;

    const base = baseFee(pt, year);
    const discount = (pt==='full_time' && phoneExists) ? 300 : 0;
    const guestFee = guests * 500;
    const grand = Math.max(0, base - discount) + guestFee;

    breakdownEl.textContent = `Base: ₹${base} | Discount: ₹${discount} | Guests: ₹${guestFee}`;
    grandEl.textContent = `₹${grand}`;
  }

  // Events
  phoneEl.addEventListener('input', () => {
    phoneEl.value = onlyDigits10(phoneEl.value);
  });
  phoneEl.addEventListener('blur', checkPhone);
  yearEl.addEventListener('change', updateTotal);
  guestsEl.addEventListener('change', updateTotal);
  ptFull.addEventListener('change', () => { updateTotal(); checkPhone(); });
  ptNoon.addEventListener('change', () => { updateTotal(); checkPhone(); });

  updateTotal();
})();
</script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit