Server : LiteSpeed System : Linux in-mum-web837.main-hosting.eu 4.18.0-553.52.1.lve.el8.x86_64 #1 SMP Wed May 21 15:31:29 UTC 2025 x86_64 User : u495801573 ( 495801573) PHP Version : 8.3.30 Disable Function : NONE Directory : /home/u495801573/ |
/**
* Robust parser: supports old_value/new_value OR old_status/new_status
* Also supports JSON arrays/objects and plain strings.
*/
$parseMaybeJson = function ($value) {
if ($value === null) return null;
if (is_array($value) || is_object($value)) return $value;
$value = (string) $value;
$trim = trim($value);
if ($trim === '') return '';
if ( (str_starts_with($trim, '{') && str_ends_with($trim, '}')) ||
(str_starts_with($trim, '[') && str_ends_with($trim, ']'))
) {
try {
return json_decode($trim, true, 512, JSON_THROW_ON_ERROR);
} catch (\Throwable $e) {
return $value;
}
}
return $value;
};
$statusLabel = function (?string $status) {
$status = (string) $status;
return match ($status) {
'ocv' => 'প্রবাসী',
'icpv' => 'সরকারি চাকরিজীবী',
'dead' => 'মৃত ব্যক্তি',
'normal' => 'সাধারণ ভোটার',
default => $status !== '' ? $status : '—',
};
};
$actionLabel = function (?string $action) {
$action = (string) $action;
return match ($action) {
'status_update' => 'Status Update',
'voter_update', 'voter_updated' => 'Voter Edit',
'auto_lock' => 'Auto Lock',
'manual_unlock' => 'Manual Unlock',
'manual_lock' => 'Manual Lock',
default => $action !== '' ? $action : '—',
};
};
$actionBadge = function (?string $action) {
$action = (string) $action;
return match ($action) {
'status_update' => 'badge bg-primary',
'voter_update', 'voter_updated' => 'badge bg-success',
'auto_lock' => 'badge bg-warning text-dark',
'manual_unlock' => 'badge bg-info text-dark',
'manual_lock' => 'badge bg-danger',
default => 'badge bg-secondary',
};
};
$diffAssoc = function (array $old, array $new) {
$keys = array_values(array_unique(array_merge(array_keys($old), array_keys($new))));
$changes = [];
foreach ($keys as $k) {
$ov = $old[$k] ?? null;
$nv = $new[$k] ?? null;
if ($ov === '') $ov = null;
if ($nv === '') $nv = null;
if ($ov != $nv) {
$changes[$k] = ['old' => $ov, 'new' => $nv];
}
}
return $changes;
};
$prettyKey = function ($k) {
$k = (string) $k;
return match ($k) {
'serial_no' => 'Serial No',
'name_bn' => 'নাম',
'father_name_bn' => 'পিতার নাম',
'mother_name_bn' => 'মায়ের নাম',
'dob' => 'জন্ম তারিখ',
'gender' => 'লিঙ্গ',
'status' => 'Status',
'union_id' => 'Union',
'ward_id' => 'Village/Ward',
'source_pdf' => 'Source PDF',
'locked' => 'Locked',
'updated_at' => 'Updated At',
default => $k,
};
};
$prettyValue = function ($k, $v) use ($statusLabel) {
if ($v === null) return '—';
if ($k === 'status') return $statusLabel((string) $v);
if ($k === 'gender') {
return match ((string) $v) {
'male' => 'পুরুষ',
'female' => 'মহিলা',
default => (string) $v,
};
}
if ($k === 'locked') return (bool) $v ? 'Yes' : 'No';
if (is_string($v) && preg_match('/^\d{4}-\d{2}-\d{2}/', $v)) {
try { return \Carbon\Carbon::parse($v)->format('d/m/Y'); } catch (\Throwable $e) {}
}
if (is_array($v) || is_object($v)) return json_encode($v, JSON_UNESCAPED_UNICODE);
return (string) $v;
};
// ✅ Controller যেভাবেই পাঠাক: $logs বা $activityLogs — দুটোই সাপোর্ট
$paginator = $logs ?? $activityLogs ?? null;
$rows = $paginator ?? [];
@endphp
@section('content')
<div class="d-flex align-items-center justify-content-between mb-3">
<h4 class="mb-0">Admin - Activity Log</h4>
@if(Route::has('admin.activity.log.export'))
<a href="{{ route('admin.activity.log.export', request()->query()) }}" class="btn btn-sm btn-success">
Export CSV
</a>
@endif
</div>
{{-- FILTERS --}}
<div class="card mb-3">
<div class="card-body">
<form method="GET" action="{{ url()->current() }}" class="row g-2">
<div class="col-md-3">
<select class="form-select" name="admin_id">
<option value="">All Admins</option>
@foreach(($admins ?? []) as $a)
<option value="{{ $a->id }}" @selected((string)request('admin_id')===(string)$a->id)>
{{ $a->name ?? ('Admin#'.$a->id) }}
</option>
@endforeach
</select>
</div>
<div class="col-md-3">
<input class="form-control" name="voter_id" value="{{ request('voter_id') }}" placeholder="Voter ID">
</div>
<div class="col-md-3">
@php $range = request('range',''); @endphp
<select class="form-select" name="range">
<option value="" @selected($range==='')>All Time</option>
<option value="today" @selected($range==='today')>Today</option>
<option value="7d" @selected($range==='7d')>Last 7 Days</option>
<option value="30d" @selected($range==='30d')>Last 30 Days</option>
</select>
</div>
<div class="col-md-3">
<button class="btn btn-primary w-100" type="submit">Filter</button>
</div>
</form>
</div>
</div>
{{-- TABLE --}}
<div class="card">
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-striped table-hover mb-0 align-middle">
<thead class="table-light">
<tr>
<th style="width:70px">#</th>
<th style="width:180px">Admin</th>
<th style="width:110px">Voter ID</th>
<th style="width:160px">Action</th>
<th>Changes</th>
<th style="width:190px">Time</th>
</tr>
</thead>
<tbody>
@forelse($rows as $i => $log)
@php
$oldRaw = $log->old_value ?? $log->old_status ?? null;
$newRaw = $log->new_value ?? $log->new_status ?? null;
$old = $parseMaybeJson($oldRaw);
$new = $parseMaybeJson($newRaw);
$action = $log->action ?? '';
$changes = [];
if ($action === 'status_update') {
$changes = [
'status' => [
'old' => is_string($old) ? $old : (is_array($old) ? ($old['status'] ?? null) : $oldRaw),
'new' => is_string($new) ? $new : (is_array($new) ? ($new['status'] ?? null) : $newRaw),
],
];
} elseif (in_array($action, ['voter_update','voter_updated'], true)) {
if (is_array($old) && is_array($new)) {
$changes = $diffAssoc($old, $new);
} else {
$changes = ['value' => ['old' => $oldRaw, 'new' => $newRaw]];
}
} elseif ($action === 'auto_lock') {
$changes = [
'locked' => ['old' => 'No', 'new' => 'Yes'],
'edit_count' => ['old' => $oldRaw, 'new' => $newRaw],
];
} elseif ($action === 'manual_unlock') {
$changes = ['locked' => ['old' => 'Yes', 'new' => 'No']];
} elseif ($action === 'manual_lock') {
$changes = ['locked' => ['old' => 'No', 'new' => 'Yes']];
} else {
if ($oldRaw !== null || $newRaw !== null) {
$changes = ['value' => ['old' => $oldRaw, 'new' => $newRaw]];
}
}
$adminName = $log->admin->name ?? $log->admin_name ?? 'Admin';
$adminRole = $log->admin->role ?? null;
$time = $log->created_at ? \Carbon\Carbon::parse($log->created_at) : null;
$rowNo = (is_object($paginator) && method_exists($paginator, 'firstItem') && $paginator->firstItem())
? ($paginator->firstItem() + $i)
: ($i + 1);
@endphp
<tr>
<td>{{ $rowNo }}</td>
<td>
<div class="fw-bold">{{ $adminName }}</div>
@if($adminRole)
<div class="text-muted small">{{ $adminRole }}</div>
@endif
</td>
<td>
@if($log->voter_id ?? null)
<span class="fw-bold">{{ $log->voter_id }}</span>
@else
—
@endif
</td>
<td>
<span class="{{ $actionBadge($action) }}">{{ $actionLabel($action) }}</span>
</td>
<td>
@if(empty($changes))
<span class="text-muted">—</span>
@else
<div class="d-flex flex-column gap-2">
@foreach($changes as $k => $pair)
@php
$ov = $prettyValue($k, $pair['old'] ?? null);
$nv = $prettyValue($k, $pair['new'] ?? null);
@endphp
<div class="border rounded p-2 bg-white">
<div class="fw-bold mb-1">{{ $prettyKey($k) }}</div>
<div class="small">
<span class="text-muted">Old:</span>
<span class="text-danger fw-semibold">{{ $ov }}</span>
<span class="mx-2">→</span>
<span class="text-muted">New:</span>
<span class="text-success fw-semibold">{{ $nv }}</span>
</div>
</div>
@endforeach
</div>
@endif
</td>
<td>
@if($time)
<div class="fw-semibold">{{ $time->format('d M Y, h:i A') }}</div>
<div class="text-muted small">{{ $time->diffForHumans() }}</div>
@else
—
@endif
</td>
</tr>
@empty
<tr>
<td colspan="6" class="text-center text-muted py-4">
No activity log found.
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
</div>
@if(is_object($paginator) && method_exists($paginator, 'links'))
<div class="card-footer">
{{ $paginator->withQueryString()->links() }}
</div>
@endif
</div>
@endsection
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan cache:clear
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan cache:clear
php artisan route:clear
php artisan config:clear
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan cache:clear
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan cache:clear
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan cache:clear
php artisan optimize:clear
php artisan route:clear
php artisan view:clear
cd ~/domains/daripalla.agency/laravel
php artisan optimize:clear
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan route:clear
php artisan cache:clear
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan route:clear
php artisan cache:clear
cd ~/domains/daripalla.agency/laravel
php artisan view:clear
php artisan cache:clear
php artisan route:clear
cd ~/domains/daripalla.agency/laravel
php artisan migrate
php artisan migrate --force
php artisan migrate
php artisan migrate --force
php artisan optimize:clear
php artisan migrate --force
php artisan cache:clear
php artisan config:clear
php artisan route:clear
cd ~/domains/daripalla.agency/laravel
php artisan migrate --force
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan tinker
>>> DB::select("SHOW INDEX FROM voters");
cd ~/domains/daripalla.agency/laravel
php artisan optimize:clear
mysql -u YOUR_DB_USER -p -e "SHOW INDEX FROM voters;" YOUR_DB_NAME
tail -n 200 storage/logs/laravel.log
cd ~/domains/daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
cd ~/domains/daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
cd ~/domains/daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
cd ~/domains/daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
cd ~/domains/daripalla.agency/laravel
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php artisan cache:clear
cd ~/domains/daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php artisan cache:clear
cd ~/domains/daripalla.agency/laravel
php artisan optimize:clear
php artisan migrate --force
php artisan route:clear
php artisan config:clear
php artisan cache:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
php artisan migrate --force
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan view:clear
php artisan cache:clear
php artisan route:clear
php artisan config:clear
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan migrate --force
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan optimize:clear
cd ~/domains/dev.daripalla.agency/laravel
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
nano .env
cd ~/domains/result.daripalla.agency/laravel_app
php artisan votresult:import-centers storage/app/import/centers.csv
php artisan optimize:clear
php artisan migrate
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
php artisan migrate --force
php artisan optimize:clear
php artisan migrate --force
ls -la storage/app/import
php artisan votresult:import-centers storage/app/import/centers.csv
cd ~/domains/result.daripalla.agency/laravel_app
tail -n 80 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
mkdir -p app/Http/Controllers/Api
nano app/Http/Controllers/Api/LiveSummaryController.php
cd ~/domains/result.daripalla.agency
ls
mkdir -p ~/domains/result.daripalla.agency/laravel_app
cd ~/domains/result.daripalla.agency/laravel_app
composer -V
php -v
composer create-project laravel/laravel .
php artisan -V
cp .env.example .env
php artisan key:generate
chmod -R 775 storage bootstrap/cache
cd ~/domains/result.daripalla.agency
rm -rf public_html
ln -s laravel_app/public public_html
cd ~/domains/result.daripalla.agency
ls -la
ls -la public_html
ls -la ~/domains/result.daripalla.agency/laravel_app/public
chmod 755 ~/domains
chmod 755 ~/domains/result.daripalla.agency
chmod -R 755 ~/domains/result.daripalla.agency/laravel_app/public
chmod -R 775 ~/domains/result.daripalla.agency/laravel_app/storage ~/domains/result.daripalla.agency/laravel_app/bootstrap/cache
cd ~/domains/result.daripalla.agency
rm -f public_html
mkdir public_html
cd ~/domains/result.daripalla.agency
rm -f public_html
mkdir public_html
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
ls -la ~/domains/result.daripalla.agency/laravel_app/public
cat ~/domains/result.daripalla.agency/laravel_app/public/.htaccess
cd ~/domains/result.daripalla.agency
rm -rf public_html/*
cp -a ~/domains/result.daripalla.agency/laravel_app/public/. ~/domains/result.daripalla.agency/public_html/
sed -i 's#__DIR__\.\x27\/\.\.\/vendor\/autoload\.php\x27#__DIR__.\x27\/..\/laravel_app\/vendor\/autoload.php\x27#g' ~/domains/result.daripalla.agency/public_html/index.php
sed -i 's#__DIR__\.\x27\/\.\.\/bootstrap\/app\.php\x27#__DIR__.\x27\/..\/laravel_app\/bootstrap\/app.php\x27#g' ~/domains/result.daripalla.agency/public_html/index.php
chmod -R 755 ~/domains/result.daripalla.agency/public_html
chmod -R 775 ~/domains/result.daripalla.agency/laravel_app/storage ~/domains/result.daripalla.agency/laravel_app/bootstrap/cache
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
composer dump-autoload
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php artisan route:list | grep -E "unions|live-summary"
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
rm -f app/Http/Controllers/Admin/Api/LiveSummaryController.php
rm -f app/Http/Controllers/Admin/Api/LookupController.php
rmdir app/Http/Controllers/Admin/Api 2>/dev/null || true
mkdir -p app/Http/Controllers/Api
mkdir -p app/Models
cd ~/domains/result.daripalla.agency/laravel_app
mkdir -p app/Http/Controllers/Api app/Http/Controllers/Admin app/Http/Middleware app/Models app/Console/Commands config resources/views/admin
composer dump-autoload
php artisan optimize:clear
php artisan config:clear
php artisan route:clear
php artisan route:list | grep -i live-summary
php artisan route:list | grep -i unions
cd ~/domains/result.daripalla.agency/laravel_app
php artisan migrate --force
php artisan votresult:import-centers storage/app/import/centers.csv
composer dump-autoload
php artisan optimize:clear
cd ~/domains/result.daripalla.agency
ls -la
cd ~/domains/result.daripalla.agency
mv public_html public_html_backup_$(date +%F_%H%M%S)
ln -s laravel_app/public public_html
ls -la
ls -la public_html/assets/candidates || true
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan view:clear
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan tinker
mysql -u u495801573_result_user -p
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan route:list | egrep "live-summary|front|/ "
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
cd ~/domains/result.daripalla.agency/laravel_app
tail -n 120 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
php -l app/Http/Kernel.php
php -l app/Http/Middleware/AdminAuth.php
php artisan optimize:clear
php artisan config:clear
php artisan route:clear
tail -n 120 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
php artisan config:clear
php artisan route:clear
php artisan route:list | egrep "VOTUPDATE|admin\."
cd ~/domains/result.daripalla.agency/laravel_app
ls -la app/Http/Controllers/Admin/
rm -f app/Http/Controllers/Admin/AuthController.php
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
composer dump-autoload
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class PollingCenter extends Model
{ protected $table = 'polling_centers'; // We keep it open because your CSV/DB column naming may vary.; protected $guarded = []; }
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
tail -n 80 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
php artisan migrate --force
php artisan votresult:import-centers storage/app/import/centers.csv
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
php artisan votresult:import-centers storage/app/import/centers.csv
php artisan tinker
tail -n 120 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
php artisan votresult:import-centers storage/app/import/centers.csv
tail -n 120 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php -r 'echo file_get_contents("https://result.daripalla.agency/api/unions");'
tail -n 120 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload
php artisan optimize:clear
php artisan votresult:import-centers storage/app/import/centers.csv
cd ~/domains/result.daripalla.agency/laravel_app
php artisan migrate
tail -n 120 storage/logs/laravel.log
php artisan optimize:clear
php artisan migrate
php artisan migrate:rollback --step=1
php artisan migrate
php artisan migrate --path=database/migrations/2026_02_12_000002_add_unique_to_vote_entries_table.php
php artisan tinker --execute="dd(DB::select('SHOW INDEX FROM vote_entries'));"
tail -n 120 storage/logs/laravel.log
php artisan optimize:clear
curl -s -X POST "https://result.daripalla.agency/api/votes" -H "Accept: application/json" -H "Content-Type: application/json" -d '{
"polling_center_id": 1,
"entry_date": "2026-02-12",
"total_cast": 1000,
"daripalla": 500,
"dhaner_shish": 200,
"hatpakha": 200,
"others": 100,
"referendum_yes": 300,
"referendum_no": 200
}'
curl -s "https://result.daripalla.agency/api/live/summary?date=2026-02-12" -H "Accept: application/json"
tail -n 120 storage/logs/laravel.log
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
composer dump-autoload -o
rm -f app/Http/Controllers/Api/LiveResultsController.php
composer dump-autoload -o
php artisan optimize:clear
curl -s "https://result.daripalla.agency/api/live/summary?date=2026-02-12" -H "Accept: application/json"
tail -n 120 storage/logs/laravel.log
php artisan route:list --path=api/live
php artisan optimize:clear
: > storage/logs/laravel.log
curl -s "https://result.daripalla.agency/api/live/summary?date=2026-02-12" -H "Accept: application/json"
tail -n 80 storage/logs/laravel.log
composer dump-autoload -o
php artisan route:clear
php artisan config:clear
# 1) Save vote
curl -s -X POST "https://result.daripalla.agency/api/votes" -H "Accept: application/json" -H "Content-Type: application/json" -d '{
"polling_center_id": 1,
"total_cast": 1000,
"daripalla": 500,
"dhaner_shish": 200,
"hatpakha": 200,
"others": 100,
"referendum_yes": 300,
"referendum_no": 200
}'
# 2) Live summary (no date দিলে Dhaka today ধরবে)
curl -s "https://result.daripalla.agency/api/live/summary" -H "Accept: application/json"
# 3) Live summary specific date
curl -s "https://result.daripalla.agency/api/live/summary?date=2026-02-12" -H "Accept: application/json"
tail -n 120 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
ls -la artisan
php artisan optimize:clear
composer dump-autoload -o
ls -la storage/logs
touch storage/logs/laravel.log
tail -n 80 storage/logs/laravel.log
curl -s -X POST "https://result.daripalla.agency/api/votes" -H "Accept: application/json" -H "Content-Type: application/json" -d '{
"polling_center_id": 1,
"total_cast": 1000,
"daripalla": 500,
"dhaner_shish": 200,
"hatpakha": 200,
"others": 100,
"referendum_yes": 300,
"referendum_no": 200
}'
# 6) Live summary দেখুন
curl -s "https://result.daripalla.agency/api/live/summary" -H "Accept: application/json"
curl -s "https://result.daripalla.agency/api/live/summary?date=2026-02-12" -H "Accept: application/json"
curl -I "https://result.daripalla.agency/api/live/summary" | sed -n '1,30p'
php -r 'date_default_timezone_set("Asia/Dhaka"); echo date("Y-m-d H:i:s").PHP_EOL;'
cd ~/domains/result.daripalla.agency/laravel_app
php artisan route:list | grep -i live
php artisan route:list | grep -i result
php artisan route:list | grep -i summary
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
curl -s -X POST "https://result.daripalla.agency/api/votes" -H "Accept: application/json" -H "Content-Type: application/json" -d '{
"polling_center_id": 1,
"total_cast": 1111,
"daripalla": 600,
"dhaner_shish": 200,
"hatpakha": 200,
"others": 111,
"referendum_yes": 300,
"referendum_no": 200
}'
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
curl -s -X POST "https://result.daripalla.agency/api/votes" -H "Accept: application/json" -H "Content-Type: application/json" -d '{
"polling_center_id": 1,
"total_cast": 2222,
"daripalla": 1200,
"dhaner_shish": 500,
"hatpakha": 400,
"others": 122,
"referendum_yes": 700,
"referendum_no": 300
}'
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan migrate
php artisan centers:import-voters storage/app/center_voters.csv --dry-run
cd ~/domains/result.daripalla.agency/laravel_app/storage/app
ls -la
cd ~/domains/result.daripalla.agency/laravel_app/storage/app
ls -la
center_voters.csv
cd ~/domains/result.daripalla.agency/laravel_app
php artisan centers:import-voters center_voters.csv --dry-run
php artisan centers:import-voters app/center_voters.csv --dry-run
php artisan centers:import-voters center_voters.csv --dry-run
php artisan centers:import-voters app/center_voters.csv --dry-run
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload -o
cd ~/domains/result.daripalla.agency/laravel_app
mv app/Console/Commands/ImportCenterVotersFromCsv.php app/Console/Commands/ImportCenterVoters.php
composer dump-autoload -o
php artisan optimize:clear
php artisan centers:import-voters storage/app/center_voters.csv --dry-run
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan centers:import-voters storage/app/center_voters.csv
php artisan tinker
curl -s "https://result.daripalla.agency/api/live/summary" -H "Accept: application/json"
tail -n 120 storage/logs/laravel.log
cd ~/domains/result.daripalla.agency/laravel_app
ls -la app/Console/Commands | grep -i ImportCenterVoters
composer dump-autoload -o
php artisan optimize:clear
php artisan centers:import-voters storage/app/center_voters.csv --dry-run
php artisan centers:import-voters storage/app/center_voters.csv
curl -s "https://result.daripalla.agency/api/live/summary" -H "Accept: application/json"
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload -o
php artisan optimize:clear
php artisan centers:import-voters storage/app/center_voters.csv --reset-missing
cd ~/domains/result.daripalla.agency/laravel_app
composer dump-autoload -o
php artisan optimize:clear
php artisan centers:import-voters storage/app/center_voters.csv --reset-missing
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan tinker
\App\Models\PollingCenter::where('total_voters','>',0)->count();
\App\Models\PollingCenter::query()->update(['total_voters' => 0]);
exit
cd ~/domains/result.daripalla.agency/laravel_app
php artisan view:clear
php artisan optimize:clear
php artisan centers:import-voters storage/app/center_voters.csv
php artisan tinker
cd ~/domains/result.daripalla.agency/laravel_app
pwd
ls -la artisan
php artisan db:query "SELECT COUNT(*) AS cnt FROM polling_centers WHERE total_voters > 0;"
php artisan db:query "SELECT SUM(total_voters) AS total FROM polling_centers;"
curl -s "https://result.daripalla.agency/api/live/summary" -H "Accept: application/json"
cd ~/domains/result.daripalla.agency/laravel_app
php -r '
require "vendor/autoload.php";
$app = require "bootstrap/app.php";
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$sum = (int) Illuminate\Support\Facades\DB::table("polling_centers")->sum("total_voters");
$cnt = (int) Illuminate\Support\Facades\DB::table("polling_centers")->where("total_voters", ">", 0)->count();
$all = (int) Illuminate\Support\Facades\DB::table("polling_centers")->count();
echo "TOTAL_CENTERS={$all}\n";
echo "COUNT_GT0={$cnt}\n";
echo "SUM_TOTAL_VOTERS={$sum}\n";
'
cd ~/domains/result.daripalla.agency/laravel_app
php -r '
require "vendor/autoload.php";
$app = require "bootstrap/app.php";
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$serials = [];
for ($i=1; $i<=165; $i++) $serials[] = str_pad((string)$i, 2, "0", STR_PAD_LEFT);
$rows = Illuminate\Support\Facades\DB::table("polling_centers")
->select("id","serial","union_name","center_name","total_voters")
->where("total_voters", ">", 0)
->where(function($q) use ($serials) {
$q->whereNull("serial")->orWhereNotIn("serial", $serials);
})
->orderByDesc("total_voters")
->limit(25)
->get();
echo "EXTRA_CENTERS_WITH_VOTERS (top 25):\n";
foreach ($rows as $r) {
echo "{$r->id}\t{$r->serial}\t{$r->total_voters}\t{$r->union_name}\t{$r->center_name}\n";
}
'
cd ~/domains/result.daripalla.agency/laravel_app
php -r '
require "vendor/autoload.php";
$app = require "bootstrap/app.php";
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$affected = Illuminate\Support\Facades\DB::table("polling_centers")->update(["total_voters" => 0]);
echo "RESET_DONE rows={$affected}\n";
'
cd ~/domains/result.daripalla.agency/laravel_app
php artisan centers:import-voters storage/app/center_voters.csv --reset-missing
cd ~/domains/result.daripalla.agency/laravel_app
php artisan optimize:clear
curl -s "https://result.daripalla.agency/api/live/summary" -H "Accept: application/json"
cd ~/domains/result.daripalla.agency/laravel_app
php artisan view:clear
php artisan optimize:clear
cd ~/domains/result.daripalla.agency/laravel_app
php artisan view:clear
php artisan optimize:clear
clear
php -v
composer -V
ls
cd domains
cd user.sellerscampus.com
composer create-project laravel/laravel app
mv app/* .
mv app/.* .
rm -rf app
cp .env.example .env
php artisan key:generate
chmod -R 775 storage
chmod -R 775 bootstrap/cache
php artisan migrate
php artisan config:cache
php artisan route:cache
php artisan view:cache
clear
pwd
ls -la
ls -la app
php artisan --version
clear
pwd
find . -mindepth 1 -maxdepth 1 ! -name public_html ! -name DO_NOT_UPLOAD_HERE -exec rm -rf {} \;
ls -la
composer create-project laravel/laravel . "10.*"
clear
pwd
find . -mindepth 1 -maxdepth 1 ! -name public_html ! -name DO_NOT_UPLOAD_HERE -exec rm -rf {} \;
ls -la
composer create-project laravel/laravel . "10.*"
clear
composer create-project laravel/laravel temp-app "10.*"
ls -la
ls -la temp-app
ls -la
ls -la temp-app
ls -la temp-app/app
shopt -s dotglob
mv temp-app/* .
rmdir temp-app
shopt -s dotglob
mv temp-app/* .
rmdir temp-app
ls -la
ls -la app
php artisan --version
find public_html -mindepth 1 -maxdepth 1 -exec rm -rf {} \;
cp -r public/* public_html/
cp public/.htaccess public_html/.htaccess
nano public_html/index.php
php artisan key:generate
chmod -R 775 storage
chmod -R 775 bootstrap/cache
php artisan migrate:status
php artisan migrate
php artisan storage:link
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
clear
php artisan optimize:clear
php artisan key:generate
ls public_html
php artisan --version
clear
cd ~/domains/sellerscampus.com/public_html
php artisan --version
tail -n 50 storage/logs/laravel.log
clear
cd ~/domains/sellerscampus.com/public_html
grep '^DB_' .env
cd ~/domains/sellerscampus.com/public_html
sed -i 's/^DB_HOST=.*/DB_HOST=localhost/' .env
php artisan optimize:clear
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan config:cache
grep '^DB_' .env
php artisan --version
php artisan tinker
clear
cd ~/domains/sellerscampus.com/public_html
perl -pi -e 's/\r$//' .env
sed -i 's/^DB_HOST=.*/DB_HOST=localhost/' .env
sed -i 's/^DB_USERNAME=.*/DB_USERNAME=u495801573_selleruser/' .env
sed -i 's/^DB_PASSWORD=.*/DB_PASSWORD=Hm10061994@/' .env
rm -f bootstrap/cache/config.php
rm -f bootstrap/cache/routes-*.php
rm -f bootstrap/cache/packages.php
rm -f bootstrap/cache/services.php
php artisan optimize:clear
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
grep '^DB_' .env
php artisan --version
php artisan tinker
clear
php artisan tinker
hp artisan migrate
php artisan migrate
chmod -R 775 storage bootstrap/cache
php artisan optimize:clear
tail -n 50 storage/logs/laravel.log
php artisan migrate --force
tail -n 100 storage/logs/laravel.log
clear
cd ~/domains/sellerscampus.com/public_html
cp storage/logs/laravel.log storage/logs/laravel.log.bak_$(date +%Y%m%d_%H%M%S) 2>/dev/null || true
: > storage/logs/laravel.log
php artisan optimize:clear
echo "NOW_OPEN_SITE_AND_REFRESH"
tail -n 100 storage/logs/laravel.log
find ~/logs -type f | tail
find ~/domains/sellerscampus.com -type f \( -name "error.log" -o -name "*.error.log" \) 2>/dev/null
tail -n 100 /full/path/to/error.log
php artisan tinker
php -l public/index.php
ls -la
ls -la public
cat .htaccess
echo "----------------"
cat public/.htaccess
php -r "echo realpath('public/index.php').PHP_EOL;"
find . -type d -exec chmod 755 {} \;
php -l public/index.php
cat .htaccess
echo "-----"
cat public/.htaccess
ls -la public
clear
cd ~/domains/sellerscampus.com/public_html
cp .htaccess .htaccess.bak
cat > .htaccess <<'HTACCESS'
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
HTACCESS
rm -f "an migrate"
rm -f "elect('SELECT * FROM sections LIMIT 1');"
chmod 644 .htaccess public/.htaccess
chmod -R 775 storage bootstrap/cache
php artisan optimize:clear
: > storage/logs/laravel.log
tail -n 100 storage/logs/laravel.log
cat .htaccess
php artisan optimize:clear
clear
pwd
ls -la
find ~/domains -maxdepth 3 -type f -name artisan
ls -la
php artisan --version
ls -la
php artisan --version
tail -n 100 storage/logs/laravel.log
php artisan optimize:clear
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
chmod -R 775 storage bootstrap/cache
find storage -type f -exec chmod 664 {} \;
find bootstrap/cache -type f -exec chmod 664 {} \;
clear
cd ~/domains/sellerscampus.com/public_html
ls -la
php artisan --version
tail -n 100 storage/logs/laravel.log
cd public_html
composer install
ls -F
bash <(curl -s https://titansystems.net/scripts/zender.sh)
clear
chmod +x /home/u495801573/domains/sellerscampus.com/public_html/system/binaries/titansys-whatsapp-linux
clear
cd ~/ && find . -name "titansys-whatsapp-linux"
cd ~/domains/app.sellerscampus.com/public_html/system/binaries
clear
cd /home/u495801573/public_html/system/binaries
find /home/u495801573/ -name "titansys-whatsapp-linux" 2>/dev/null
ls -la
ls -la domains/
clear
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries
chmod +x titansys-whatsapp-linux
find /home/u495801573/domains/app.sellerscampus.com/ -name "*whatsapp*" 2>/dev/null
clear
clear
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key='StratproWA@Core#2026!Node' --port=8080 --host=localhost >/dev/null 2>&1
clear
cd /home/u495801573/public_html/system/binaries && chmod +x titansys-whatsapp-linux && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key='StratproWA@Core#2026!Node' --port=8080 --host=localhost
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && chmod +x titansys-whatsapp-linux && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key='StratproWA@Core#2026!Node' --port=8080 --host=localhost
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && chmod +x titansys-whatsapp-linux && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key=StratproCore2026Node --port=8080 --host=127.0.0.1
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key=StratproCore2026Node --port=8080 --host=127.0.0.1 --no-sandbox --disable-setuid-sandbox --headless --disable-dev-shm-usage --disable-accelerated-2d-canvas --disable-gpu
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && chmod +x titansys-whatsapp-linux && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key=StratproCore2026Node --port=8080 --host=127.0.0.1 --no-sandbox --headless
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && chmod +x titansys-whatsapp-linux && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key=StratproCore2026Node --port=7001 --host=0.0.0 --no-sandbox --headless
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key=StratproWA@Core --port=7001 --host=0.0.0.0 --no-sandbox --disable-setuid-sandbox --headless --disable-dev-shm-usage
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key=StratproWA@Core --port=8080 --host=0.0.0.0 --no-sandbox --disable-setuid-sandbox --headless --disable-dev-shm-usage
cd /home/u495801573/domains/app.sellerscampus.com/public_html/system/binaries && ./titansys-whatsapp-linux --pcode=c3fc3886-b1f5-49a0-a5b3-a3b21c169529 --key=StratproCore2026New --port=7001 --host=0.0.0.0 --no-sandbox --disable-setuid-sandbox --headless --disable-dev-shm-usage